WIP FPC-III support
[linux/fpc-iii.git] / arch / arm64 / boot / dts / amlogic / meson-gxbb-p20x.dtsi
blobe803a466fe4ebb15c160c480790749c46c419cbf
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2016 Andreas Färber
4  * Copyright (c) 2016 BayLibre, Inc.
5  * Author: Kevin Hilman <khilman@kernel.org>
6  */
8 #include "meson-gxbb.dtsi"
10 / {
11         aliases {
12                 serial0 = &uart_AO;
13                 ethernet0 = &ethmac;
14         };
16         chosen {
17                 stdout-path = "serial0:115200n8";
18         };
20         memory@0 {
21                 device_type = "memory";
22                 reg = <0x0 0x0 0x0 0x40000000>;
23         };
25         usb_pwr: regulator-usb-pwrs {
26                 compatible = "regulator-fixed";
28                 regulator-name = "USB_PWR";
30                 regulator-min-microvolt = <5000000>;
31                 regulator-max-microvolt = <5000000>;
33                 /* signal name in schematic: USB_PWR_EN */
34                 gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
35                 enable-active-high;
36         };
38         vddio_card: gpio-regulator {
39                 compatible = "regulator-gpio";
41                 regulator-name = "VDDIO_CARD";
42                 regulator-min-microvolt = <1800000>;
43                 regulator-max-microvolt = <3300000>;
45                 gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
46                 gpios-states = <1>;
48                 /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
49                 states = <1800000 0>,
50                          <3300000 1>;
52                 regulator-settling-time-up-us = <10000>;
53                 regulator-settling-time-down-us = <150000>;
54         };
56         vddio_boot: regulator-vddio_boot {
57                 compatible = "regulator-fixed";
58                 regulator-name = "VDDIO_BOOT";
59                 regulator-min-microvolt = <1800000>;
60                 regulator-max-microvolt = <1800000>;
61         };
63         vddao_3v3: regulator-vddao_3v3 {
64                 compatible = "regulator-fixed";
65                 regulator-name = "VDDAO_3V3";
66                 regulator-min-microvolt = <3300000>;
67                 regulator-max-microvolt = <3300000>;
68         };
70         vcc_3v3: regulator-vcc_3v3 {
71                 compatible = "regulator-fixed";
72                 regulator-name = "VCC_3V3";
73                 regulator-min-microvolt = <3300000>;
74                 regulator-max-microvolt = <3300000>;
75         };
77         emmc_pwrseq: emmc-pwrseq {
78                 compatible = "mmc-pwrseq-emmc";
79                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
80         };
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         };
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         };
96         cvbs_connector: cvbs-connector {
97                 compatible = "composite-video-connector";
99                 port {
100                         cvbs_connector_in: endpoint {
101                                 remote-endpoint = <&cvbs_vdac_out>;
102                         };
103                 };
104         };
106         hdmi-connector {
107                 compatible = "hdmi-connector";
108                 type = "a";
110                 port {
111                         hdmi_connector_in: endpoint {
112                                 remote-endpoint = <&hdmi_tx_tmds_out>;
113                         };
114                 };
115         };
118 &cec_AO {
119         status = "okay";
120         pinctrl-0 = <&ao_cec_pins>;
121         pinctrl-names = "default";
122         hdmi-phandle = <&hdmi_tx>;
125 &cvbs_vdac_port {
126         cvbs_vdac_out: endpoint {
127                 remote-endpoint = <&cvbs_connector_in>;
128         };
131 &hdmi_tx {
132         status = "okay";
133         pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
134         pinctrl-names = "default";
137 &hdmi_tx_tmds_port {
138         hdmi_tx_tmds_out: endpoint {
139                 remote-endpoint = <&hdmi_connector_in>;
140         };
143 &ir {
144         status = "okay";
145         pinctrl-0 = <&remote_input_ao_pins>;
146         pinctrl-names = "default";
149 &pwm_ef {
150         status = "okay";
151         pinctrl-0 = <&pwm_e_pins>;
152         pinctrl-names = "default";
153         clocks = <&clkc CLKID_FCLK_DIV4>;
154         clock-names = "clkin0";
157 /* Wireless SDIO Module */
158 &sd_emmc_a {
159         status = "okay";
160         pinctrl-0 = <&sdio_pins>;
161         pinctrl-1 = <&sdio_clk_gate_pins>;
162         pinctrl-names = "default", "clk-gate";
163         #address-cells = <1>;
164         #size-cells = <0>;
166         bus-width = <4>;
167         cap-sd-highspeed;
168         max-frequency = <50000000>;
170         non-removable;
171         disable-wp;
173         /* WiFi firmware requires power to be kept while in suspend */
174         keep-power-in-suspend;
176         mmc-pwrseq = <&sdio_pwrseq>;
178         vmmc-supply = <&vddao_3v3>;
179         vqmmc-supply = <&vddio_boot>;
181         brcmf: wifi@1 {
182                 reg = <1>;
183                 compatible = "brcm,bcm4329-fmac";
184         };
187 /* SD card */
188 &sd_emmc_b {
189         status = "okay";
190         pinctrl-0 = <&sdcard_pins>;
191         pinctrl-1 = <&sdcard_clk_gate_pins>;
192         pinctrl-names = "default", "clk-gate";
194         bus-width = <4>;
195         cap-sd-highspeed;
196         sd-uhs-sdr12;
197         sd-uhs-sdr25;
198         sd-uhs-sdr50;
199         max-frequency = <100000000>;
200         disable-wp;
202         cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
204         vmmc-supply = <&vddao_3v3>;
205         vqmmc-supply = <&vddio_card>;
208 /* eMMC */
209 &sd_emmc_c {
210         status = "okay";
211         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
212         pinctrl-1 = <&emmc_clk_gate_pins>;
213         pinctrl-names = "default", "clk-gate";
215         bus-width = <8>;
216         cap-mmc-highspeed;
217         max-frequency = <200000000>;
218         non-removable;
219         disable-wp;
220         mmc-ddr-1_8v;
221         mmc-hs200-1_8v;
223         mmc-pwrseq = <&emmc_pwrseq>;
224         vmmc-supply = <&vcc_3v3>;
225         vqmmc-supply = <&vddio_boot>;
228 /* This UART is brought out to the DB9 connector */
229 &uart_AO {
230         status = "okay";
231         pinctrl-0 = <&uart_ao_a_pins>;
232         pinctrl-names = "default";
235 &usb0_phy {
236         status = "okay";
237         phy-supply = <&usb_pwr>;
240 &usb1_phy {
241         status = "okay";
244 &usb0 {
245         status = "okay";
248 &usb1 {
249         status = "okay";