blob: b0c5e7bd5e74e1fac69674b7bb9662f6eb0a4170 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2#include "qcom-apq8064-v2.0.dtsi"
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/leds/common.h>
5#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
6
7/ {
8 model = "Qualcomm APQ8064/IFC6410";
9 compatible = "qcom,apq8064-ifc6410", "qcom,apq8064";
10
11 aliases {
12 serial0 = &gsbi7_serial;
13 serial1 = &gsbi6_serial;
14 i2c0 = &gsbi1_i2c;
15 i2c1 = &gsbi2_i2c;
16 i2c2 = &gsbi3_i2c;
17 i2c3 = &gsbi4_i2c;
18 spi0 = &gsbi5_spi;
19 };
20
21 chosen {
22 stdout-path = "serial0:115200n8";
23 };
24
25 leds {
26 compatible = "gpio-leds";
27 pinctrl-names = "default";
28 pinctrl-0 = <&notify_led>;
29
30 led-user1 {
31 label = "apq8064:green:user1";
32 color = <LED_COLOR_ID_GREEN>;
33 gpios = <&pm8921_gpio 18 GPIO_ACTIVE_HIGH>;
34 default-state = "on";
35 };
36 };
37
38 hdmi-out {
39 compatible = "hdmi-connector";
40 type = "d";
41
42 port {
43 hdmi_con: endpoint {
44 remote-endpoint = <&hdmi_out>;
45 };
46 };
47 };
48
49 sdcc4_pwrseq: pwrseq-sdcc4 {
50 pinctrl-names = "default";
51 pinctrl-0 = <&wlan_default_gpios>;
52 compatible = "mmc-pwrseq-simple";
53 reset-gpios = <&pm8921_gpio 43 GPIO_ACTIVE_LOW>;
54 };
55
56 ext_3p3v: regulator-ext-3p3v {
57 compatible = "regulator-fixed";
58 regulator-min-microvolt = <3300000>;
59 regulator-max-microvolt = <3300000>;
60 regulator-name = "ext_3p3v";
61 startup-delay-us = <0>;
62 gpio = <&tlmm_pinmux 77 GPIO_ACTIVE_HIGH>;
63 enable-active-high;
64 regulator-boot-on;
65 };
66};
67
68&gsbi1 {
69 qcom,mode = <GSBI_PROT_I2C>;
70 status = "okay";
71};
72
73&gsbi1_i2c {
74 clock-frequency = <200000>;
75 status = "okay";
76
77 eeprom@52 {
78 compatible = "atmel,24c128";
79 reg = <0x52>;
80 pagesize = <32>;
81 };
82};
83
84&gsbi3 {
85 qcom,mode = <GSBI_PROT_I2C>;
86 status = "okay";
87};
88
89&gsbi3_i2c {
90 status = "okay";
91};
92
93&gsbi4 {
94 qcom,mode = <GSBI_PROT_I2C>;
95 status = "okay";
96};
97
98/* CAM I2C MIPI-CSI connector */
99&gsbi4_i2c {
100 status = "okay";
101};
102
103&gsbi5 {
104 qcom,mode = <GSBI_PROT_SPI>;
105 status = "okay";
106};
107
108&gsbi5_spi {
109 num-cs = <1>;
110 cs-gpios = <&tlmm_pinmux 53 0>;
111 status = "okay";
112};
113
114&gsbi6 {
115 qcom,mode = <GSBI_PROT_UART_W_FC>;
116 status = "okay";
117};
118
119&gsbi6_serial {
120 pinctrl-names = "default";
121 pinctrl-0 = <&gsbi6_uart_4pins>;
122 status = "okay";
123};
124
125&gsbi7 {
126 qcom,mode = <GSBI_PROT_I2C_UART>;
127 status = "okay";
128};
129
130&gsbi7_serial {
131 pinctrl-names = "default";
132 pinctrl-0 = <&gsbi7_uart_2pins>;
133 status = "okay";
134};
135
136&hdmi {
137 core-vdda-supply = <&pm8921_hdmi_switch>;
138 hpd-gpios = <&tlmm_pinmux 72 GPIO_ACTIVE_HIGH>;
139 status = "okay";
140};
141
142&hdmi_in {
143 remote-endpoint = <&mdp_dtv_out>;
144};
145
146&hdmi_out {
147 remote-endpoint = <&hdmi_con>;
148};
149
150&hdmi_phy {
151 status = "okay";
152 core-vdda-supply = <&pm8921_hdmi_switch>;
153};
154
155&mdp {
156 status = "okay";
157};
158
159&mdp_dtv_out {
160 remote-endpoint = <&hdmi_in>;
161};
162
163&pcie {
164 status = "okay";
165 vdda-supply = <&pm8921_s3>;
166 vdda_phy-supply = <&pm8921_lvs6>;
167 vdda_refclk-supply = <&ext_3p3v>;
168 pinctrl-0 = <&pcie_pins>;
169 pinctrl-names = "default";
170 perst-gpios = <&tlmm_pinmux 27 GPIO_ACTIVE_LOW>;
171};
172
173&pm8921_gpio {
174 wlan_default_gpios: wlan-gpios-state {
175 pinconf {
176 pins = "gpio43";
177 function = "normal";
178 bias-disable;
179 power-source = <PM8921_GPIO_S4>;
180 };
181 };
182
183 notify_led: nled-state {
184 pinconf {
185 pins = "gpio18";
186 function = "normal";
187 bias-disable;
188 power-source = <PM8921_GPIO_S4>;
189 };
190 };
191};
192
193&rpm {
194 regulators {
195 vin_lvs1_3_6-supply = <&pm8921_s4>;
196 vin_lvs2-supply = <&pm8921_s1>;
197 vin_lvs4_5_7-supply = <&pm8921_s4>;
198
199 vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
200 vdd_l24-supply = <&pm8921_s1>;
201 vdd_l25-supply = <&pm8921_s1>;
202 vdd_l26-supply = <&pm8921_s7>;
203 vdd_l27-supply = <&pm8921_s7>;
204 vdd_l28-supply = <&pm8921_s7>;
205
206
207 /* Buck SMPS */
208 s1 {
209 regulator-always-on;
210 regulator-min-microvolt = <1225000>;
211 regulator-max-microvolt = <1225000>;
212 qcom,switch-mode-frequency = <3200000>;
213 bias-pull-down;
214 };
215
216 s3 {
217 regulator-min-microvolt = <1000000>;
218 regulator-max-microvolt = <1400000>;
219 qcom,switch-mode-frequency = <4800000>;
220 };
221
222 s4 {
223 regulator-min-microvolt = <1800000>;
224 regulator-max-microvolt = <1800000>;
225 qcom,switch-mode-frequency = <3200000>;
226 };
227
228 s7 {
229 regulator-min-microvolt = <1300000>;
230 regulator-max-microvolt = <1300000>;
231 qcom,switch-mode-frequency = <3200000>;
232 };
233
234 l3 {
235 regulator-min-microvolt = <3050000>;
236 regulator-max-microvolt = <3300000>;
237 bias-pull-down;
238 };
239
240 l4 {
241 regulator-min-microvolt = <1000000>;
242 regulator-max-microvolt = <1800000>;
243 bias-pull-down;
244 };
245
246 l5 {
247 regulator-min-microvolt = <2750000>;
248 regulator-max-microvolt = <3000000>;
249 bias-pull-down;
250 };
251
252 l6 {
253 regulator-min-microvolt = <2950000>;
254 regulator-max-microvolt = <2950000>;
255 bias-pull-down;
256 };
257
258 l23 {
259 regulator-min-microvolt = <1700000>;
260 regulator-max-microvolt = <1900000>;
261 bias-pull-down;
262 };
263
264 lvs1 {
265 bias-pull-down;
266 };
267
268 lvs6 {
269 bias-pull-down;
270 };
271 };
272};
273
274&sata_phy0 {
275 status = "okay";
276};
277
278&sata0 {
279 target-supply = <&pm8921_s4>;
280 status = "okay";
281};
282
283/* eMMC */
284&sdcc1 {
285 vmmc-supply = <&pm8921_l5>;
286 vqmmc-supply = <&pm8921_s4>;
287 status = "okay";
288};
289
290/* External micro SD card */
291&sdcc3 {
292 vmmc-supply = <&pm8921_l6>;
293 pinctrl-names = "default";
294 pinctrl-0 = <&card_detect>;
295 cd-gpios = <&tlmm_pinmux 26 GPIO_ACTIVE_LOW>;
296 status = "okay";
297};
298
299/* WLAN */
300&sdcc4 {
301 vmmc-supply = <&ext_3p3v>;
302 vqmmc-supply = <&pm8921_lvs1>;
303 mmc-pwrseq = <&sdcc4_pwrseq>;
304 status = "okay";
305};
306
307&tlmm_pinmux {
308 card_detect: card_detect {
309 mux {
310 pins = "gpio26";
311 function = "gpio";
312 bias-disable;
313 };
314 };
315
316 pcie_pins: pcie_pinmux {
317 mux {
318 pins = "gpio27";
319 function = "gpio";
320 };
321 conf {
322 pins = "gpio27";
323 drive-strength = <12>;
324 bias-disable;
325 };
326 };
327};
328
329&usb_hs1_phy {
330 v3p3-supply = <&pm8921_l3>;
331 v1p8-supply = <&pm8921_l4>;
332};
333
334&usb_hs3_phy {
335 v3p3-supply = <&pm8921_l3>;
336 v1p8-supply = <&pm8921_l23>;
337};
338
339&usb_hs4_phy {
340 v3p3-supply = <&pm8921_l3>;
341 v1p8-supply = <&pm8921_l23>;
342};
343
344/* OTG */
345&usb1 {
346 dr_mode = "otg";
347 status = "okay";
348};
349
350&usb3 {
351 dr_mode = "host";
352 status = "okay";
353};
354
355&usb4 {
356 dr_mode = "host";
357 status = "okay";
358};