Merge tag 'u-boot-rockchip-20190809' of https://gitlab.denx.de/u-boot/custodians...
[oweals/u-boot.git] / arch / arm / dts / meson-g12a-u200.dts
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 = &ethmac;
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 };
133
134 &cec_AO {
135         pinctrl-0 = <&cec_ao_a_h_pins>;
136         pinctrl-names = "default";
137         status = "disabled";
138         hdmi-phandle = <&hdmi_tx>;
139 };
140
141 &cecb_AO {
142         pinctrl-0 = <&cec_ao_b_h_pins>;
143         pinctrl-names = "default";
144         status = "okay";
145         hdmi-phandle = <&hdmi_tx>;
146 };
147
148 &cvbs_vdac_port {
149         cvbs_vdac_out: endpoint {
150                 remote-endpoint = <&cvbs_connector_in>;
151         };
152 };
153
154 &ethmac {
155         status = "okay";
156         phy-handle = <&internal_ephy>;
157         phy-mode = "rmii";
158 };
159
160 &hdmi_tx {
161         status = "okay";
162         pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
163         pinctrl-names = "default";
164         hdmi-supply = <&vcc_5v>;
165 };
166
167 &hdmi_tx_tmds_port {
168         hdmi_tx_tmds_out: endpoint {
169                 remote-endpoint = <&hdmi_connector_in>;
170         };
171 };
172
173 &ir {
174         status = "okay";
175         pinctrl-0 = <&remote_input_ao_pins>;
176         pinctrl-names = "default";
177 };
178
179 /* i2c Touch */
180 &i2c0 {
181         status = "okay";
182         pinctrl-0 = <&i2c0_sda_z0_pins>, <&i2c0_sck_z1_pins>;
183         pinctrl-names = "default";
184 };
185
186 /* i2c CM */
187 &i2c2 {
188         status = "okay";
189         pinctrl-0 = <&i2c2_sda_z_pins>, <&i2c2_sck_z_pins>;
190         pinctrl-names = "default";
191 };
192
193 /* i2c Audio */
194 &i2c3 {
195         status = "okay";
196         pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
197         pinctrl-names = "default";
198 };
199
200 /* SD card */
201 &sd_emmc_b {
202         status = "okay";
203         pinctrl-0 = <&sdcard_c_pins>;
204         pinctrl-1 = <&sdcard_clk_gate_c_pins>;
205         pinctrl-names = "default", "clk-gate";
206
207         bus-width = <4>;
208         cap-sd-highspeed;
209         max-frequency = <50000000>;
210         disable-wp;
211
212         cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
213         vmmc-supply = <&vddao_3v3>;
214         vqmmc-supply = <&vddao_3v3>;
215 };
216
217 /* eMMC */
218 &sd_emmc_c {
219         status = "okay";
220         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
221         pinctrl-1 = <&emmc_clk_gate_pins>;
222         pinctrl-names = "default", "clk-gate";
223
224         bus-width = <8>;
225         cap-mmc-highspeed;
226         mmc-ddr-1_8v;
227         mmc-hs200-1_8v;
228         max-frequency = <200000000>;
229         non-removable;
230         disable-wp;
231
232         mmc-pwrseq = <&emmc_pwrseq>;
233         vmmc-supply = <&vcc_3v3>;
234         vqmmc-supply = <&flash_1v8>;
235 };
236
237 &uart_AO {
238         status = "okay";
239         pinctrl-0 = <&uart_ao_a_pins>;
240         pinctrl-names = "default";
241 };
242
243 &usb {
244         status = "okay";
245         vbus-supply = <&usb_pwr_en>;
246 };
247
248 &usb2_phy0 {
249         phy-supply = <&vcc_5v>;
250 };
251
252 &usb2_phy1 {
253         phy-supply = <&vcc_5v>;
254 };