1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2018 Amlogic, Inc. All rights reserved. 4 */ 5 6/dts-v1/; 7 8#include "meson-g12a.dtsi" 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/gpio/meson-g12a-gpio.h> 11 12/ { 13 compatible = "amlogic,u200", "amlogic,g12a"; 14 model = "Amlogic Meson G12A U200 Development Board"; 15 16 aliases { 17 serial0 = &uart_AO; 18 ethernet0 = ðmac; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 cvbs-connector { 26 compatible = "composite-video-connector"; 27 28 port { 29 cvbs_connector_in: endpoint { 30 remote-endpoint = <&cvbs_vdac_out>; 31 }; 32 }; 33 }; 34 35 emmc_pwrseq: emmc-pwrseq { 36 compatible = "mmc-pwrseq-emmc"; 37 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>; 38 }; 39 40 hdmi-connector { 41 compatible = "hdmi-connector"; 42 type = "a"; 43 44 port { 45 hdmi_connector_in: endpoint { 46 remote-endpoint = <&hdmi_tx_tmds_out>; 47 }; 48 }; 49 }; 50 51 memory@0 { 52 device_type = "memory"; 53 reg = <0x0 0x0 0x0 0x40000000>; 54 }; 55 56 flash_1v8: regulator-flash_1v8 { 57 compatible = "regulator-fixed"; 58 regulator-name = "FLASH_1V8"; 59 regulator-min-microvolt = <1800000>; 60 regulator-max-microvolt = <1800000>; 61 vin-supply = <&vcc_3v3>; 62 regulator-always-on; 63 }; 64 65 main_12v: regulator-main_12v { 66 compatible = "regulator-fixed"; 67 regulator-name = "12V"; 68 regulator-min-microvolt = <12000000>; 69 regulator-max-microvolt = <12000000>; 70 regulator-always-on; 71 }; 72 73 usb_pwr_en: regulator-usb_pwr_en { 74 compatible = "regulator-fixed"; 75 regulator-name = "USB_PWR_EN"; 76 regulator-min-microvolt = <5000000>; 77 regulator-max-microvolt = <5000000>; 78 vin-supply = <&vcc_5v>; 79 80 gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>; 81 enable-active-high; 82 }; 83 84 vcc_1v8: regulator-vcc_1v8 { 85 compatible = "regulator-fixed"; 86 regulator-name = "VCC_1V8"; 87 regulator-min-microvolt = <1800000>; 88 regulator-max-microvolt = <1800000>; 89 vin-supply = <&vcc_3v3>; 90 regulator-always-on; 91 }; 92 93 vcc_3v3: regulator-vcc_3v3 { 94 compatible = "regulator-fixed"; 95 regulator-name = "VCC_3V3"; 96 regulator-min-microvolt = <3300000>; 97 regulator-max-microvolt = <3300000>; 98 vin-supply = <&vddao_3v3>; 99 regulator-always-on; 100 /* FIXME: actually controlled by VDDCPU_B_EN */ 101 }; 102 103 vcc_5v: regulator-vcc_5v { 104 compatible = "regulator-fixed"; 105 regulator-name = "VCC_5V"; 106 regulator-min-microvolt = <5000000>; 107 regulator-max-microvolt = <5000000>; 108 vin-supply = <&main_12v>; 109 110 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>; 111 enable-active-high; 112 }; 113 114 vddao_1v8: regulator-vddao_1v8 { 115 compatible = "regulator-fixed"; 116 regulator-name = "VDDAO_1V8"; 117 regulator-min-microvolt = <1800000>; 118 regulator-max-microvolt = <1800000>; 119 vin-supply = <&vddao_3v3>; 120 regulator-always-on; 121 }; 122 123 vddao_3v3: regulator-vddao_3v3 { 124 compatible = "regulator-fixed"; 125 regulator-name = "VDDAO_3V3"; 126 regulator-min-microvolt = <3300000>; 127 regulator-max-microvolt = <3300000>; 128 vin-supply = <&main_12v>; 129 regulator-always-on; 130 }; 131 132 vddcpu: regulator-vddcpu { 133 /* 134 * MP8756GD Regulator. 135 */ 136 compatible = "pwm-regulator"; 137 138 regulator-name = "VDDCPU"; 139 regulator-min-microvolt = <721000>; 140 regulator-max-microvolt = <1022000>; 141 142 pwm-supply = <&main_12v>; 143 144 pwms = <&pwm_AO_cd 1 1250 0>; 145 pwm-dutycycle-range = <100 0>; 146 147 regulator-boot-on; 148 regulator-always-on; 149 }; 150}; 151 152&cec_AO { 153 pinctrl-0 = <&cec_ao_a_h_pins>; 154 pinctrl-names = "default"; 155 status = "disabled"; 156 hdmi-phandle = <&hdmi_tx>; 157}; 158 159&cecb_AO { 160 pinctrl-0 = <&cec_ao_b_h_pins>; 161 pinctrl-names = "default"; 162 status = "okay"; 163 hdmi-phandle = <&hdmi_tx>; 164}; 165 166&cpu0 { 167 cpu-supply = <&vddcpu>; 168 operating-points-v2 = <&cpu_opp_table>; 169 clocks = <&clkc CLKID_CPU_CLK>; 170 clock-latency = <50000>; 171}; 172 173&cpu1 { 174 cpu-supply = <&vddcpu>; 175 operating-points-v2 = <&cpu_opp_table>; 176 clocks = <&clkc CLKID_CPU_CLK>; 177 clock-latency = <50000>; 178}; 179 180&cpu2 { 181 cpu-supply = <&vddcpu>; 182 operating-points-v2 = <&cpu_opp_table>; 183 clocks = <&clkc CLKID_CPU_CLK>; 184 clock-latency = <50000>; 185}; 186 187&cpu3 { 188 cpu-supply = <&vddcpu>; 189 operating-points-v2 = <&cpu_opp_table>; 190 clocks = <&clkc CLKID_CPU_CLK>; 191 clock-latency = <50000>; 192}; 193 194&cvbs_vdac_port { 195 cvbs_vdac_out: endpoint { 196 remote-endpoint = <&cvbs_connector_in>; 197 }; 198}; 199 200ðmac { 201 status = "okay"; 202 phy-handle = <&internal_ephy>; 203 phy-mode = "rmii"; 204}; 205 206&hdmi_tx { 207 status = "okay"; 208 pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>; 209 pinctrl-names = "default"; 210 hdmi-supply = <&vcc_5v>; 211}; 212 213&hdmi_tx_tmds_port { 214 hdmi_tx_tmds_out: endpoint { 215 remote-endpoint = <&hdmi_connector_in>; 216 }; 217}; 218 219&ir { 220 status = "okay"; 221 pinctrl-0 = <&remote_input_ao_pins>; 222 pinctrl-names = "default"; 223}; 224 225/* i2c Touch */ 226&i2c0 { 227 status = "okay"; 228 pinctrl-0 = <&i2c0_sda_z0_pins>, <&i2c0_sck_z1_pins>; 229 pinctrl-names = "default"; 230}; 231 232/* i2c CM */ 233&i2c2 { 234 status = "okay"; 235 pinctrl-0 = <&i2c2_sda_z_pins>, <&i2c2_sck_z_pins>; 236 pinctrl-names = "default"; 237}; 238 239/* i2c Audio */ 240&i2c3 { 241 status = "okay"; 242 pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; 243 pinctrl-names = "default"; 244}; 245 246&pwm_AO_cd { 247 pinctrl-0 = <&pwm_ao_d_e_pins>; 248 pinctrl-names = "default"; 249 clocks = <&xtal>; 250 clock-names = "clkin1"; 251 status = "okay"; 252}; 253 254/* SD card */ 255&sd_emmc_b { 256 status = "okay"; 257 pinctrl-0 = <&sdcard_c_pins>; 258 pinctrl-1 = <&sdcard_clk_gate_c_pins>; 259 pinctrl-names = "default", "clk-gate"; 260 261 bus-width = <4>; 262 cap-sd-highspeed; 263 max-frequency = <50000000>; 264 disable-wp; 265 266 cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>; 267 vmmc-supply = <&vddao_3v3>; 268 vqmmc-supply = <&vddao_3v3>; 269}; 270 271/* eMMC */ 272&sd_emmc_c { 273 status = "okay"; 274 pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 275 pinctrl-1 = <&emmc_clk_gate_pins>; 276 pinctrl-names = "default", "clk-gate"; 277 278 bus-width = <8>; 279 cap-mmc-highspeed; 280 mmc-ddr-1_8v; 281 mmc-hs200-1_8v; 282 max-frequency = <200000000>; 283 non-removable; 284 disable-wp; 285 286 mmc-pwrseq = <&emmc_pwrseq>; 287 vmmc-supply = <&vcc_3v3>; 288 vqmmc-supply = <&flash_1v8>; 289}; 290 291&uart_AO { 292 status = "okay"; 293 pinctrl-0 = <&uart_ao_a_pins>; 294 pinctrl-names = "default"; 295}; 296 297&usb { 298 status = "okay"; 299 vbus-supply = <&usb_pwr_en>; 300}; 301 302&usb2_phy0 { 303 phy-supply = <&vcc_5v>; 304}; 305 306&usb2_phy1 { 307 phy-supply = <&vcc_5v>; 308}; 309