Merge tag 'soc-drivers-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-block.git] / arch / arm64 / boot / dts / amlogic / meson-gxbb-p20x.dtsi
CommitLineData
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 = &ethmac;
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};