Commit | Line | Data |
---|---|---|
114abfe1 | 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
ac40004d KH |
2 | /* |
3 | * Copyright (c) 2016 Andreas Färber | |
4 | * Copyright (c) 2016 BayLibre, Inc. | |
5 | * Author: Kevin Hilman <khilman@kernel.org> | |
ac40004d KH |
6 | */ |
7 | ||
8 | #include "meson-gxbb.dtsi" | |
9 | ||
10 | / { | |
11 | aliases { | |
12 | serial0 = &uart_AO; | |
059a58fc | 13 | ethernet0 = ðmac; |
ac40004d KH |
14 | }; |
15 | ||
16 | chosen { | |
17 | stdout-path = "serial0:115200n8"; | |
18 | }; | |
19 | ||
20 | memory@0 { | |
21 | device_type = "memory"; | |
22 | reg = <0x0 0x0 0x0 0x40000000>; | |
23 | }; | |
8735053d JB |
24 | |
25 | usb_pwr: regulator-usb-pwrs { | |
26 | compatible = "regulator-fixed"; | |
27 | ||
28 | regulator-name = "USB_PWR"; | |
29 | ||
30 | regulator-min-microvolt = <5000000>; | |
31 | regulator-max-microvolt = <5000000>; | |
32 | ||
33 | /* signal name in schematic: USB_PWR_EN */ | |
34 | gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>; | |
35 | enable-active-high; | |
36 | }; | |
ef8d2ffe KH |
37 | |
38 | vddio_card: gpio-regulator { | |
39 | compatible = "regulator-gpio"; | |
40 | ||
41 | regulator-name = "VDDIO_CARD"; | |
42 | regulator-min-microvolt = <1800000>; | |
43 | regulator-max-microvolt = <3300000>; | |
44 | ||
45 | gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>; | |
46 | gpios-states = <1>; | |
47 | ||
48 | /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */ | |
f9717178 NA |
49 | states = <1800000 0>, |
50 | <3300000 1>; | |
5149616e JB |
51 | |
52 | regulator-settling-time-up-us = <10000>; | |
53 | regulator-settling-time-down-us = <150000>; | |
ef8d2ffe KH |
54 | }; |
55 | ||
f0ed445e | 56 | vddio_boot: regulator-vddio-boot { |
ef8d2ffe KH |
57 | compatible = "regulator-fixed"; |
58 | regulator-name = "VDDIO_BOOT"; | |
59 | regulator-min-microvolt = <1800000>; | |
60 | regulator-max-microvolt = <1800000>; | |
61 | }; | |
62 | ||
f0ed445e | 63 | vddao_3v3: regulator-vddao-3v3 { |
ef8d2ffe KH |
64 | compatible = "regulator-fixed"; |
65 | regulator-name = "VDDAO_3V3"; | |
66 | regulator-min-microvolt = <3300000>; | |
67 | regulator-max-microvolt = <3300000>; | |
68 | }; | |
69 | ||
f0ed445e | 70 | vcc_3v3: regulator-vcc-3v3 { |
ef8d2ffe KH |
71 | compatible = "regulator-fixed"; |
72 | regulator-name = "VCC_3V3"; | |
73 | regulator-min-microvolt = <3300000>; | |
74 | regulator-max-microvolt = <3300000>; | |
75 | }; | |
76 | ||
77 | emmc_pwrseq: emmc-pwrseq { | |
78 | compatible = "mmc-pwrseq-emmc"; | |
79 | reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; | |
80 | }; | |
caafa69d NA |
81 | |
82 | wifi32k: wifi32k { | |
83 | compatible = "pwm-clock"; | |
84 | #clock-cells = <0>; | |
85 | clock-frequency = <32768>; | |
86 | pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ | |
87 | }; | |
ab3943fe NA |
88 | |
89 | sdio_pwrseq: sdio-pwrseq { | |
90 | compatible = "mmc-pwrseq-simple"; | |
91 | reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; | |
92 | clocks = <&wifi32k>; | |
93 | clock-names = "ext_clock"; | |
94 | }; | |
fafdbdf7 | 95 | |
748a421d | 96 | cvbs_connector: cvbs-connector { |
fafdbdf7 NA |
97 | compatible = "composite-video-connector"; |
98 | ||
99 | port { | |
100 | cvbs_connector_in: endpoint { | |
101 | remote-endpoint = <&cvbs_vdac_out>; | |
102 | }; | |
103 | }; | |
104 | }; | |
6939db7e NA |
105 | |
106 | hdmi-connector { | |
107 | compatible = "hdmi-connector"; | |
108 | type = "a"; | |
109 | ||
110 | port { | |
111 | hdmi_connector_in: endpoint { | |
112 | remote-endpoint = <&hdmi_tx_tmds_out>; | |
113 | }; | |
114 | }; | |
115 | }; | |
ac40004d KH |
116 | }; |
117 | ||
b16c71c9 NA |
118 | &cec_AO { |
119 | status = "okay"; | |
120 | pinctrl-0 = <&ao_cec_pins>; | |
121 | pinctrl-names = "default"; | |
122 | hdmi-phandle = <&hdmi_tx>; | |
123 | }; | |
124 | ||
67fe352f AF |
125 | &cvbs_vdac_port { |
126 | cvbs_vdac_out: endpoint { | |
127 | remote-endpoint = <&cvbs_connector_in>; | |
128 | }; | |
ac40004d | 129 | }; |
8c5509f0 | 130 | |
67fe352f | 131 | &hdmi_tx { |
ae89ed79 | 132 | status = "okay"; |
67fe352f | 133 | pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; |
ae89ed79 MB |
134 | pinctrl-names = "default"; |
135 | }; | |
8735053d | 136 | |
67fe352f AF |
137 | &hdmi_tx_tmds_port { |
138 | hdmi_tx_tmds_out: endpoint { | |
139 | remote-endpoint = <&hdmi_connector_in>; | |
140 | }; | |
8735053d JB |
141 | }; |
142 | ||
67fe352f | 143 | &ir { |
8735053d | 144 | status = "okay"; |
67fe352f AF |
145 | pinctrl-0 = <&remote_input_ao_pins>; |
146 | pinctrl-names = "default"; | |
8735053d JB |
147 | }; |
148 | ||
67fe352f | 149 | &pwm_ef { |
8735053d | 150 | status = "okay"; |
67fe352f AF |
151 | pinctrl-0 = <&pwm_e_pins>; |
152 | pinctrl-names = "default"; | |
153 | clocks = <&clkc CLKID_FCLK_DIV4>; | |
154 | clock-names = "clkin0"; | |
8735053d | 155 | }; |
ef8d2ffe KH |
156 | |
157 | /* Wireless SDIO Module */ | |
158 | &sd_emmc_a { | |
159 | status = "okay"; | |
160 | pinctrl-0 = <&sdio_pins>; | |
67e7607f JB |
161 | pinctrl-1 = <&sdio_clk_gate_pins>; |
162 | pinctrl-names = "default", "clk-gate"; | |
ef8d2ffe KH |
163 | #address-cells = <1>; |
164 | #size-cells = <0>; | |
165 | ||
166 | bus-width = <4>; | |
167 | cap-sd-highspeed; | |
adc52bf7 | 168 | max-frequency = <50000000>; |
ef8d2ffe KH |
169 | |
170 | non-removable; | |
171 | disable-wp; | |
172 | ||
0060bd29 NA |
173 | /* WiFi firmware requires power to be kept while in suspend */ |
174 | keep-power-in-suspend; | |
175 | ||
ab3943fe NA |
176 | mmc-pwrseq = <&sdio_pwrseq>; |
177 | ||
ef8d2ffe KH |
178 | vmmc-supply = <&vddao_3v3>; |
179 | vqmmc-supply = <&vddio_boot>; | |
ab3943fe | 180 | |
e0e216eb | 181 | brcmf: wifi@1 { |
ab3943fe NA |
182 | reg = <1>; |
183 | compatible = "brcm,bcm4329-fmac"; | |
184 | }; | |
ef8d2ffe KH |
185 | }; |
186 | ||
187 | /* SD card */ | |
188 | &sd_emmc_b { | |
189 | status = "okay"; | |
190 | pinctrl-0 = <&sdcard_pins>; | |
67e7607f JB |
191 | pinctrl-1 = <&sdcard_clk_gate_pins>; |
192 | pinctrl-names = "default", "clk-gate"; | |
ef8d2ffe KH |
193 | |
194 | bus-width = <4>; | |
195 | cap-sd-highspeed; | |
0f553358 JB |
196 | sd-uhs-sdr12; |
197 | sd-uhs-sdr25; | |
198 | sd-uhs-sdr50; | |
ef8d2ffe KH |
199 | max-frequency = <100000000>; |
200 | disable-wp; | |
201 | ||
f29200c8 | 202 | cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; |
ef8d2ffe KH |
203 | |
204 | vmmc-supply = <&vddao_3v3>; | |
205 | vqmmc-supply = <&vddio_card>; | |
206 | }; | |
207 | ||
208 | /* eMMC */ | |
209 | &sd_emmc_c { | |
210 | status = "okay"; | |
ab36be66 | 211 | pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; |
67e7607f JB |
212 | pinctrl-1 = <&emmc_clk_gate_pins>; |
213 | pinctrl-names = "default", "clk-gate"; | |
ef8d2ffe KH |
214 | |
215 | bus-width = <8>; | |
ef8d2ffe KH |
216 | cap-mmc-highspeed; |
217 | max-frequency = <200000000>; | |
218 | non-removable; | |
219 | disable-wp; | |
220 | mmc-ddr-1_8v; | |
221 | mmc-hs200-1_8v; | |
222 | ||
223 | mmc-pwrseq = <&emmc_pwrseq>; | |
224 | vmmc-supply = <&vcc_3v3>; | |
225 | vqmmc-supply = <&vddio_boot>; | |
226 | }; | |
caafa69d | 227 | |
67fe352f AF |
228 | /* This UART is brought out to the DB9 connector */ |
229 | &uart_AO { | |
caafa69d | 230 | status = "okay"; |
67fe352f | 231 | pinctrl-0 = <&uart_ao_a_pins>; |
caafa69d | 232 | pinctrl-names = "default"; |
caafa69d | 233 | }; |
fafdbdf7 | 234 | |
67fe352f AF |
235 | &usb0_phy { |
236 | status = "okay"; | |
237 | phy-supply = <&usb_pwr>; | |
fafdbdf7 | 238 | }; |
6939db7e | 239 | |
67fe352f | 240 | &usb1_phy { |
6939db7e | 241 | status = "okay"; |
6939db7e NA |
242 | }; |
243 | ||
67fe352f AF |
244 | &usb0 { |
245 | status = "okay"; | |
246 | }; | |
247 | ||
248 | &usb1 { | |
249 | status = "okay"; | |
6939db7e | 250 | }; |