Commit | Line | Data |
---|---|---|
114abfe1 | 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
9ded9b0f MB |
2 | /* |
3 | * Copyright (c) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. | |
4 | * Based on meson-gx-p23x-q20x.dtsi: | |
5 | * - Copyright (c) 2016 Endless Computers, Inc. | |
6 | * Author: Carlo Caione <carlo@endlessm.com> | |
7 | * - Copyright (c) 2016 BayLibre, SAS. | |
8 | * Author: Neil Armstrong <narmstrong@baylibre.com> | |
9ded9b0f MB |
9 | */ |
10 | ||
11 | /* Common DTSI for devices which are based on the P212 reference board. */ | |
12 | ||
13 | #include "meson-gxl-s905x.dtsi" | |
14 | ||
15 | / { | |
16 | aliases { | |
17 | serial0 = &uart_AO; | |
059a58fc | 18 | ethernet0 = ðmac; |
9ded9b0f MB |
19 | }; |
20 | ||
21 | chosen { | |
22 | stdout-path = "serial0:115200n8"; | |
23 | }; | |
24 | ||
25 | memory@0 { | |
26 | device_type = "memory"; | |
27 | reg = <0x0 0x0 0x0 0x80000000>; | |
28 | }; | |
29 | ||
b409f625 NA |
30 | hdmi_5v: regulator-hdmi-5v { |
31 | compatible = "regulator-fixed"; | |
32 | ||
33 | regulator-name = "HDMI_5V"; | |
34 | regulator-min-microvolt = <5000000>; | |
35 | regulator-max-microvolt = <5000000>; | |
36 | ||
37 | gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; | |
38 | enable-active-high; | |
39 | regulator-always-on; | |
40 | }; | |
41 | ||
f0ed445e | 42 | vddio_boot: regulator-vddio-boot { |
9ded9b0f MB |
43 | compatible = "regulator-fixed"; |
44 | regulator-name = "VDDIO_BOOT"; | |
45 | regulator-min-microvolt = <1800000>; | |
46 | regulator-max-microvolt = <1800000>; | |
47 | }; | |
48 | ||
f0ed445e | 49 | vddao_3v3: regulator-vddao-3v3 { |
9ded9b0f MB |
50 | compatible = "regulator-fixed"; |
51 | regulator-name = "VDDAO_3V3"; | |
52 | regulator-min-microvolt = <3300000>; | |
53 | regulator-max-microvolt = <3300000>; | |
54 | }; | |
55 | ||
f0ed445e | 56 | vddio_ao18: regulator-vddio-ao18 { |
9ded9b0f MB |
57 | compatible = "regulator-fixed"; |
58 | regulator-name = "VDDIO_AO18"; | |
59 | regulator-min-microvolt = <1800000>; | |
60 | regulator-max-microvolt = <1800000>; | |
61 | }; | |
62 | ||
f0ed445e | 63 | vcc_3v3: regulator-vcc-3v3 { |
9ded9b0f MB |
64 | compatible = "regulator-fixed"; |
65 | regulator-name = "VCC_3V3"; | |
66 | regulator-min-microvolt = <3300000>; | |
67 | regulator-max-microvolt = <3300000>; | |
68 | }; | |
69 | ||
70 | emmc_pwrseq: emmc-pwrseq { | |
71 | compatible = "mmc-pwrseq-emmc"; | |
72 | reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; | |
73 | }; | |
74 | ||
75 | wifi32k: wifi32k { | |
76 | compatible = "pwm-clock"; | |
77 | #clock-cells = <0>; | |
78 | clock-frequency = <32768>; | |
79 | pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ | |
80 | }; | |
81 | ||
82 | sdio_pwrseq: sdio-pwrseq { | |
83 | compatible = "mmc-pwrseq-simple"; | |
84 | reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; | |
85 | clocks = <&wifi32k>; | |
86 | clock-names = "ext_clock"; | |
87 | }; | |
88 | }; | |
89 | ||
90 | ðmac { | |
91 | status = "okay"; | |
92 | }; | |
93 | ||
94 | &ir { | |
95 | status = "okay"; | |
96 | pinctrl-0 = <&remote_input_ao_pins>; | |
97 | pinctrl-names = "default"; | |
98 | }; | |
99 | ||
81351d2f CH |
100 | &pwm_ef { |
101 | status = "okay"; | |
102 | pinctrl-0 = <&pwm_e_pins>; | |
103 | pinctrl-names = "default"; | |
104 | clocks = <&clkc CLKID_FCLK_DIV4>; | |
105 | clock-names = "clkin0"; | |
106 | }; | |
107 | ||
9ded9b0f MB |
108 | &saradc { |
109 | status = "okay"; | |
110 | vref-supply = <&vddio_ao18>; | |
111 | }; | |
112 | ||
113 | /* Wireless SDIO Module */ | |
114 | &sd_emmc_a { | |
115 | status = "okay"; | |
116 | pinctrl-0 = <&sdio_pins>; | |
67e7607f JB |
117 | pinctrl-1 = <&sdio_clk_gate_pins>; |
118 | pinctrl-names = "default", "clk-gate"; | |
9ded9b0f MB |
119 | #address-cells = <1>; |
120 | #size-cells = <0>; | |
121 | ||
122 | bus-width = <4>; | |
123 | cap-sd-highspeed; | |
adc52bf7 | 124 | max-frequency = <50000000>; |
9ded9b0f MB |
125 | |
126 | non-removable; | |
127 | disable-wp; | |
128 | ||
32122c46 NA |
129 | /* WiFi firmware requires power to be kept while in suspend */ |
130 | keep-power-in-suspend; | |
131 | ||
9ded9b0f MB |
132 | mmc-pwrseq = <&sdio_pwrseq>; |
133 | ||
134 | vmmc-supply = <&vddao_3v3>; | |
135 | vqmmc-supply = <&vddio_boot>; | |
ac714d09 CH |
136 | |
137 | brcmf: wifi@1 { | |
138 | reg = <1>; | |
139 | compatible = "brcm,bcm4329-fmac"; | |
140 | }; | |
9ded9b0f MB |
141 | }; |
142 | ||
143 | /* SD card */ | |
144 | &sd_emmc_b { | |
145 | status = "okay"; | |
146 | pinctrl-0 = <&sdcard_pins>; | |
67e7607f JB |
147 | pinctrl-1 = <&sdcard_clk_gate_pins>; |
148 | pinctrl-names = "default", "clk-gate"; | |
9ded9b0f MB |
149 | |
150 | bus-width = <4>; | |
151 | cap-sd-highspeed; | |
adc52bf7 | 152 | max-frequency = <50000000>; |
9ded9b0f MB |
153 | disable-wp; |
154 | ||
f29200c8 | 155 | cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>; |
9ded9b0f MB |
156 | |
157 | vmmc-supply = <&vddao_3v3>; | |
158 | vqmmc-supply = <&vddio_boot>; | |
159 | }; | |
160 | ||
161 | /* eMMC */ | |
162 | &sd_emmc_c { | |
163 | status = "okay"; | |
ab36be66 | 164 | pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; |
67e7607f JB |
165 | pinctrl-1 = <&emmc_clk_gate_pins>; |
166 | pinctrl-names = "default", "clk-gate"; | |
9ded9b0f MB |
167 | |
168 | bus-width = <8>; | |
9ded9b0f MB |
169 | cap-mmc-highspeed; |
170 | max-frequency = <200000000>; | |
171 | non-removable; | |
172 | disable-wp; | |
173 | mmc-ddr-1_8v; | |
174 | mmc-hs200-1_8v; | |
175 | ||
176 | mmc-pwrseq = <&emmc_pwrseq>; | |
177 | vmmc-supply = <&vcc_3v3>; | |
178 | vqmmc-supply = <&vddio_boot>; | |
179 | }; | |
180 | ||
9ded9b0f MB |
181 | /* This is connected to the Bluetooth module: */ |
182 | &uart_A { | |
183 | status = "okay"; | |
184 | pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; | |
185 | pinctrl-names = "default"; | |
186 | uart-has-rtscts; | |
026c20e7 CH |
187 | |
188 | bluetooth { | |
189 | compatible = "brcm,bcm43438-bt"; | |
190 | shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; | |
191 | max-speed = <2000000>; | |
192 | clocks = <&wifi32k>; | |
193 | clock-names = "lpo"; | |
194 | }; | |
9ded9b0f MB |
195 | }; |
196 | ||
197 | &uart_AO { | |
198 | status = "okay"; | |
199 | pinctrl-0 = <&uart_ao_a_pins>; | |
200 | pinctrl-names = "default"; | |
201 | }; | |
b9f07cb4 | 202 | |
2f9139c2 | 203 | &usb { |
b9f07cb4 | 204 | status = "okay"; |
2f9139c2 | 205 | dr_mode = "host"; |
b9f07cb4 | 206 | }; |
d511b3e4 NA |
207 | |
208 | &usb2_phy0 { | |
209 | /* | |
210 | * HDMI_5V is also used as supply for the USB VBUS. | |
211 | */ | |
212 | phy-supply = <&hdmi_5v>; | |
213 | }; |