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