1 // SPDX-License-Identifier: BSD-3-Clause
3 * SC7180 IDP board device tree source
5 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12 #include "sc7180.dtsi"
13 #include "pm6150.dtsi"
14 #include "pm6150l.dtsi"
17 model = "Qualcomm Technologies, Inc. SC7180 IDP";
18 compatible = "qcom,sc7180-idp", "qcom,sc7180";
21 bluetooth0 = &bluetooth;
28 stdout-path = "serial0:115200n8";
33 * Reserved memory changes
35 * Delete all unused memory nodes and define the peripheral memory regions
36 * required by the board dts.
40 /delete-node/ &hyp_mem;
41 /delete-node/ &xbl_mem;
42 /delete-node/ &aop_mem;
43 /delete-node/ &sec_apps_mem;
44 /delete-node/ &tz_mem;
46 /* Increase the size from 2MB to 8MB */
48 reg = <0x0 0x84400000 0x0 0x800000>;
53 atf_mem: memory@80b00000 {
54 reg = <0x0 0x80b00000 0x0 0x100000>;
58 mpss_mem: memory@86000000 {
59 reg = <0x0 0x86000000 0x0 0x8c00000>;
63 camera_mem: memory@8ec00000 {
64 reg = <0x0 0x8ec00000 0x0 0x500000>;
68 venus_mem: memory@8f600000 {
69 reg = <0 0x8f600000 0 0x500000>;
73 wlan_mem: memory@94100000 {
74 reg = <0x0 0x94100000 0x0 0x200000>;
78 mba_mem: memory@94400000 {
79 reg = <0x0 0x94400000 0x0 0x200000>;
86 pm6150-rpmh-regulators {
87 compatible = "qcom,pm6150-rpmh-regulators";
91 regulator-min-microvolt = <1128000>;
92 regulator-max-microvolt = <1128000>;
96 regulator-min-microvolt = <824000>;
97 regulator-max-microvolt = <1120000>;
100 vreg_s5a_2p0: smps5 {
101 regulator-min-microvolt = <1744000>;
102 regulator-max-microvolt = <2040000>;
106 regulator-min-microvolt = <1178000>;
107 regulator-max-microvolt = <1256000>;
108 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
112 regulator-min-microvolt = <944000>;
113 regulator-max-microvolt = <1056000>;
114 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
118 regulator-min-microvolt = <968000>;
119 regulator-max-microvolt = <1064000>;
120 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
124 regulator-min-microvolt = <824000>;
125 regulator-max-microvolt = <928000>;
126 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
130 regulator-min-microvolt = <2496000>;
131 regulator-max-microvolt = <3000000>;
132 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
136 regulator-min-microvolt = <568000>;
137 regulator-max-microvolt = <648000>;
138 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
142 regulator-min-microvolt = <488000>;
143 regulator-max-microvolt = <800000>;
144 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
147 vreg_l10a_1p8: ldo10 {
148 regulator-min-microvolt = <1800000>;
149 regulator-max-microvolt = <1832000>;
150 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
153 vreg_l11a_1p8: ldo11 {
154 regulator-min-microvolt = <1696000>;
155 regulator-max-microvolt = <1904000>;
156 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
159 vreg_l12a_1p8: ldo12 {
160 regulator-min-microvolt = <1800000>;
161 regulator-max-microvolt = <1800000>;
162 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
165 vreg_l13a_1p8: ldo13 {
166 regulator-min-microvolt = <1696000>;
167 regulator-max-microvolt = <1904000>;
168 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
171 vreg_l14a_1p8: ldo14 {
172 regulator-min-microvolt = <1728000>;
173 regulator-max-microvolt = <1832000>;
174 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
177 vreg_l15a_1p8: ldo15 {
178 regulator-min-microvolt = <1696000>;
179 regulator-max-microvolt = <1904000>;
180 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
183 vreg_l16a_2p7: ldo16 {
184 regulator-min-microvolt = <2496000>;
185 regulator-max-microvolt = <3304000>;
186 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
189 vreg_l17a_3p0: ldo17 {
190 regulator-min-microvolt = <2920000>;
191 regulator-max-microvolt = <3232000>;
192 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
195 vreg_l18a_2p8: ldo18 {
196 regulator-min-microvolt = <2496000>;
197 regulator-max-microvolt = <3304000>;
198 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
201 vreg_l19a_2p9: ldo19 {
202 regulator-min-microvolt = <2960000>;
203 regulator-max-microvolt = <2960000>;
204 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
208 pm6150l-rpmh-regulators {
209 compatible = "qcom,pm6150l-rpmh-regulators";
212 vreg_s8c_1p3: smps8 {
213 regulator-min-microvolt = <1120000>;
214 regulator-max-microvolt = <1408000>;
218 regulator-min-microvolt = <1616000>;
219 regulator-max-microvolt = <1984000>;
220 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
224 regulator-min-microvolt = <1168000>;
225 regulator-max-microvolt = <1304000>;
226 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
230 regulator-min-microvolt = <1144000>;
231 regulator-max-microvolt = <1304000>;
232 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
236 regulator-min-microvolt = <1648000>;
237 regulator-max-microvolt = <3304000>;
238 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
242 regulator-min-microvolt = <1648000>;
243 regulator-max-microvolt = <3304000>;
244 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
248 regulator-min-microvolt = <1800000>;
249 regulator-max-microvolt = <2950000>;
250 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254 regulator-min-microvolt = <3000000>;
255 regulator-max-microvolt = <3312000>;
256 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
260 regulator-min-microvolt = <1800000>;
261 regulator-max-microvolt = <1904000>;
262 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
266 regulator-min-microvolt = <2960000>;
267 regulator-max-microvolt = <2960000>;
268 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
271 vreg_l10c_3p3: ldo10 {
272 regulator-min-microvolt = <3000000>;
273 regulator-max-microvolt = <3400000>;
274 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
277 vreg_l11c_3p3: ldo11 {
278 regulator-min-microvolt = <3000000>;
279 regulator-max-microvolt = <3400000>;
280 regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
284 regulator-min-microvolt = <3008000>;
285 regulator-max-microvolt = <3960000>;
286 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
292 vcc-supply = <&vreg_l11a_1p8>;
297 pinctrl-names = "default";
298 pinctrl-0 = <&qspi_clk &qspi_cs0 &qspi_data01>;
301 compatible = "jedec,spi-nor";
303 spi-max-frequency = <25000000>;
304 spi-tx-bus-width = <2>;
305 spi-rx-bus-width = <2>;
319 compatible = "qcom,sc7180-mss-pil";
320 iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
321 memory-region = <&mba_mem &mpss_mem>;
327 pinctrl-names = "default", "sleep";
328 pinctrl-0 = <&sdc1_on>;
329 pinctrl-1 = <&sdc1_off>;
330 vmmc-supply = <&vreg_l19a_2p9>;
331 vqmmc-supply = <&vreg_l12a_1p8>;
337 pinctrl-names = "default","sleep";
338 pinctrl-0 = <&sdc2_on>;
339 pinctrl-1 = <&sdc2_off>;
340 vmmc-supply = <&vreg_l9c_2p9>;
341 vqmmc-supply = <&vreg_l6c_2p9>;
343 cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
349 /delete-property/interrupts;
350 interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
351 <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
353 pinctrl-names = "default", "sleep";
354 pinctrl-1 = <&qup_uart3_sleep>;
356 bluetooth: wcn3990-bt {
357 compatible = "qcom,wcn3990-bt";
358 vddio-supply = <&vreg_l10a_1p8>;
359 vddxo-supply = <&vreg_l1c_1p8>;
360 vddrf-supply = <&vreg_l2c_1p3>;
361 vddch0-supply = <&vreg_l10c_3p3>;
362 max-speed = <3200000>;
380 vdd-supply = <&vreg_l4a_0p8>;
381 vdda-pll-supply = <&vreg_l11a_1p8>;
382 vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
383 qcom,imp-res-offset-value = <8>;
384 qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
385 qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
386 qcom,bias-ctrl-value = <0x22>;
387 qcom,charge-ctrl-value = <3>;
388 qcom,hsdisc-trim-value = <0>;
393 vdda-phy-supply = <&vreg_l3c_1p2>;
394 vdda-pll-supply = <&vreg_l4a_0p8>;
399 iommus = <&apps_smmu 0x0c42 0x0>;
405 vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>;
406 vdd-1.8-xo-supply = <&vreg_l1c_1p8>;
407 vdd-1.3-rfa-supply = <&vreg_l2c_1p3>;
408 vdd-3.3-ch0-supply = <&vreg_l10c_3p3>;
409 vdd-3.3-ch1-supply = <&vreg_l11c_3p3>;
411 iommus = <&apps_smmu 0xc2 0x1>;
415 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
433 pins = "gpio64", "gpio65";
435 /* High-Z when no transfers; nice to park the lines */
442 pins = "gpio15", "gpio16";
443 drive-strength = <2>;
445 /* Has external pullup */
452 pins = "gpio115", "gpio116";
453 drive-strength = <2>;
455 /* Has external pullup */
462 pins = "gpio6", "gpio7";
463 drive-strength = <2>;
465 /* Has external pullup */
472 pins = "gpio46", "gpio47";
473 drive-strength = <2>;
475 /* Has external pullup */
483 * Configure a pull-down on CTS to match the pull of
484 * the Bluetooth module.
491 /* We'll drive RTS, so no pull */
493 drive-strength = <2>;
498 /* We'll drive TX, so no pull */
500 drive-strength = <2>;
506 * Configure a pull-up on RX. This is needed to avoid
507 * garbage data when the TX pin of the Bluetooth module is
508 * in tri-state (module powered off or not driving the
519 drive-strength = <2>;
525 drive-strength = <2>;
532 pins = "gpio34", "gpio35", "gpio36", "gpio37";
533 drive-strength = <2>;
540 pins = "gpio59", "gpio60", "gpio61", "gpio62";
541 drive-strength = <2>;
548 pins = "gpio86", "gpio87", "gpio88", "gpio89";
549 drive-strength = <2>;
555 qup_uart3_sleep: qup-uart3-sleep {
557 pins = "gpio38", "gpio39",
564 * Configure a pull-down on CTS to match the pull of
565 * the Bluetooth module.
573 * Configure pull-down on RTS. As RTS is active low
574 * signal, pull it low to indicate the BT SoC that it
575 * can wakeup the system anytime from suspend state by
576 * pulling RX low (by sending wakeup bytes).
584 * Configure pull-up on TX when it isn't actively driven
585 * to prevent BT SoC from receiving garbage during sleep.
593 * Configure a pull-up on RX. This is needed to avoid
594 * garbage data when the TX pin of the Bluetooth module
595 * is floating which may cause spurious wakeups.