1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2023, Linaro Limited
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11 #include "sa8775p.dtsi"
12 #include "sa8775p-pmics.dtsi"
15 model = "Qualcomm SA8775P Ride";
16 compatible = "qcom,sa8775p-ride", "qcom,sa8775p";
19 ethernet0 = ðernet0;
20 ethernet1 = ðernet1;
31 stdout-path = "serial0:115200n8";
37 compatible = "qcom,pmm8654au-rpmh-regulators";
41 regulator-name = "vreg_s4a";
42 regulator-min-microvolt = <1800000>;
43 regulator-max-microvolt = <1816000>;
44 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
48 regulator-name = "vreg_s5a";
49 regulator-min-microvolt = <1850000>;
50 regulator-max-microvolt = <1996000>;
51 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
55 regulator-name = "vreg_s9a";
56 regulator-min-microvolt = <535000>;
57 regulator-max-microvolt = <1120000>;
58 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
62 regulator-name = "vreg_l4a";
63 regulator-min-microvolt = <788000>;
64 regulator-max-microvolt = <1050000>;
65 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
66 regulator-allow-set-load;
67 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
68 RPMH_REGULATOR_MODE_HPM>;
72 regulator-name = "vreg_l5a";
73 regulator-min-microvolt = <870000>;
74 regulator-max-microvolt = <950000>;
75 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
76 regulator-allow-set-load;
77 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
78 RPMH_REGULATOR_MODE_HPM>;
82 regulator-name = "vreg_l6a";
83 regulator-min-microvolt = <870000>;
84 regulator-max-microvolt = <970000>;
85 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
86 regulator-allow-set-load;
87 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
88 RPMH_REGULATOR_MODE_HPM>;
92 regulator-name = "vreg_l7a";
93 regulator-min-microvolt = <720000>;
94 regulator-max-microvolt = <950000>;
95 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
96 regulator-allow-set-load;
97 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
98 RPMH_REGULATOR_MODE_HPM>;
102 regulator-name = "vreg_l8a";
103 regulator-min-microvolt = <2504000>;
104 regulator-max-microvolt = <3300000>;
105 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
106 regulator-allow-set-load;
107 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
108 RPMH_REGULATOR_MODE_HPM>;
112 regulator-name = "vreg_l9a";
113 regulator-min-microvolt = <2970000>;
114 regulator-max-microvolt = <3544000>;
115 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
116 regulator-allow-set-load;
117 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
118 RPMH_REGULATOR_MODE_HPM>;
123 compatible = "qcom,pmm8654au-rpmh-regulators";
127 regulator-name = "vreg_l1c";
128 regulator-min-microvolt = <1140000>;
129 regulator-max-microvolt = <1260000>;
130 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
131 regulator-allow-set-load;
132 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
133 RPMH_REGULATOR_MODE_HPM>;
137 regulator-name = "vreg_l2c";
138 regulator-min-microvolt = <900000>;
139 regulator-max-microvolt = <1100000>;
140 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
141 regulator-allow-set-load;
142 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
143 RPMH_REGULATOR_MODE_HPM>;
147 regulator-name = "vreg_l3c";
148 regulator-min-microvolt = <1100000>;
149 regulator-max-microvolt = <1300000>;
150 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
151 regulator-allow-set-load;
152 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
153 RPMH_REGULATOR_MODE_HPM>;
157 regulator-name = "vreg_l4c";
158 regulator-min-microvolt = <1200000>;
159 regulator-max-microvolt = <1200000>;
160 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
162 * FIXME: This should have regulator-allow-set-load but
163 * we're getting an over-current fault from the PMIC
164 * when switching to LPM.
169 regulator-name = "vreg_l5c";
170 regulator-min-microvolt = <1100000>;
171 regulator-max-microvolt = <1300000>;
172 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
173 regulator-allow-set-load;
174 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
175 RPMH_REGULATOR_MODE_HPM>;
179 regulator-name = "vreg_l6c";
180 regulator-min-microvolt = <1620000>;
181 regulator-max-microvolt = <1980000>;
182 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
183 regulator-allow-set-load;
184 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
185 RPMH_REGULATOR_MODE_HPM>;
189 regulator-name = "vreg_l7c";
190 regulator-min-microvolt = <1620000>;
191 regulator-max-microvolt = <2000000>;
192 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
193 regulator-allow-set-load;
194 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
195 RPMH_REGULATOR_MODE_HPM>;
199 regulator-name = "vreg_l8c";
200 regulator-min-microvolt = <2400000>;
201 regulator-max-microvolt = <3300000>;
202 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
203 regulator-allow-set-load;
204 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
205 RPMH_REGULATOR_MODE_HPM>;
209 regulator-name = "vreg_l9c";
210 regulator-min-microvolt = <1650000>;
211 regulator-max-microvolt = <2700000>;
212 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
213 regulator-allow-set-load;
214 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
215 RPMH_REGULATOR_MODE_HPM>;
220 compatible = "qcom,pmm8654au-rpmh-regulators";
224 regulator-name = "vreg_s4e";
225 regulator-min-microvolt = <970000>;
226 regulator-max-microvolt = <1520000>;
227 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
231 regulator-name = "vreg_s7e";
232 regulator-min-microvolt = <1010000>;
233 regulator-max-microvolt = <1170000>;
234 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
238 regulator-name = "vreg_s9e";
239 regulator-min-microvolt = <300000>;
240 regulator-max-microvolt = <570000>;
241 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
245 regulator-name = "vreg_l6e";
246 regulator-min-microvolt = <1280000>;
247 regulator-max-microvolt = <1450000>;
248 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
249 regulator-allow-set-load;
250 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
251 RPMH_REGULATOR_MODE_HPM>;
255 regulator-name = "vreg_l8e";
256 regulator-min-microvolt = <1800000>;
257 regulator-max-microvolt = <1950000>;
258 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
259 regulator-allow-set-load;
260 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
261 RPMH_REGULATOR_MODE_HPM>;
268 phy-handle = <&sgmii_phy0>;
270 pinctrl-0 = <ðernet0_default>;
271 pinctrl-names = "default";
273 snps,mtl-rx-config = <&mtl_rx_setup>;
274 snps,mtl-tx-config = <&mtl_tx_setup>;
275 snps,ps-speed = <1000>;
280 compatible = "snps,dwmac-mdio";
281 #address-cells = <1>;
285 compatible = "ethernet-phy-id0141.0dd4";
287 device_type = "ethernet-phy";
288 interrupts-extended = <&tlmm 7 IRQ_TYPE_EDGE_FALLING>;
289 reset-gpios = <&pmm8654au_2_gpios 8 GPIO_ACTIVE_LOW>;
290 reset-assert-us = <11000>;
291 reset-deassert-us = <70000>;
295 compatible = "ethernet-phy-id0141.0dd4";
297 device_type = "ethernet-phy";
298 interrupts-extended = <&tlmm 26 IRQ_TYPE_EDGE_FALLING>;
299 reset-gpios = <&pmm8654au_2_gpios 9 GPIO_ACTIVE_LOW>;
300 reset-assert-us = <11000>;
301 reset-deassert-us = <70000>;
305 mtl_rx_setup: rx-queues-config {
306 snps,rx-queues-to-use = <4>;
311 snps,map-to-dma-channel = <0x0>;
313 snps,priority = <0x1>;
318 snps,map-to-dma-channel = <0x1>;
324 snps,map-to-dma-channel = <0x2>;
330 snps,map-to-dma-channel = <0x3>;
331 snps,priority = <0xc>;
335 mtl_tx_setup: tx-queues-config {
336 snps,tx-queues-to-use = <4>;
349 snps,send_slope = <0x1000>;
350 snps,idle_slope = <0x1000>;
351 snps,high_credit = <0x3e800>;
352 snps,low_credit = <0xffc18000>;
357 snps,send_slope = <0x1000>;
358 snps,idle_slope = <0x1000>;
359 snps,high_credit = <0x3e800>;
360 snps,low_credit = <0xffc18000>;
367 phy-handle = <&sgmii_phy1>;
369 snps,mtl-rx-config = <&mtl_rx_setup1>;
370 snps,mtl-tx-config = <&mtl_tx_setup1>;
371 snps,ps-speed = <1000>;
375 mtl_rx_setup1: rx-queues-config {
376 snps,rx-queues-to-use = <4>;
381 snps,map-to-dma-channel = <0x0>;
383 snps,priority = <0x1>;
388 snps,map-to-dma-channel = <0x1>;
394 snps,map-to-dma-channel = <0x2>;
400 snps,map-to-dma-channel = <0x3>;
401 snps,priority = <0xc>;
405 mtl_tx_setup1: tx-queues-config {
406 snps,tx-queues-to-use = <4>;
419 snps,send_slope = <0x1000>;
420 snps,idle_slope = <0x1000>;
421 snps,high_credit = <0x3e800>;
422 snps,low_credit = <0xffc18000>;
427 snps,send_slope = <0x1000>;
428 snps,idle_slope = <0x1000>;
429 snps,high_credit = <0x3e800>;
430 snps,low_credit = <0xffc18000>;
436 clock-frequency = <400000>;
437 pinctrl-0 = <&qup_i2c11_default>;
438 pinctrl-names = "default";
443 clock-frequency = <400000>;
444 pinctrl-0 = <&qup_i2c18_default>;
445 pinctrl-names = "default";
450 gpio-line-names = "DS_EN",
465 gpio-line-names = "PMIC_C_ID0",
476 usb2_en_state: usb2-en-state {
485 gpio-line-names = "PMIC_E_ID0",
498 usb0_en_state: usb0-en-state {
505 usb1_en_state: usb1-en-state {
514 gpio-line-names = "PMIC_G_ID0",
530 phy-supply = <&vreg_l5a>;
535 phy-supply = <&vreg_l5a>;
540 clock-frequency = <32764>;
544 pinctrl-0 = <&qup_spi16_default>;
545 pinctrl-names = "default";
550 ethernet0_default: ethernet0-default-state {
551 ethernet0_mdc: ethernet0-mdc-pins {
553 function = "emac0_mdc";
554 drive-strength = <16>;
558 ethernet0_mdio: ethernet0-mdio-pins {
560 function = "emac0_mdio";
561 drive-strength = <16>;
566 qup_uart10_default: qup-uart10-state {
567 pins = "gpio46", "gpio47";
568 function = "qup1_se3";
571 qup_spi16_default: qup-spi16-state {
572 pins = "gpio86", "gpio87", "gpio88", "gpio89";
573 function = "qup2_se2";
574 drive-strength = <6>;
578 qup_i2c11_default: qup-i2c11-state {
579 pins = "gpio48", "gpio49";
580 function = "qup1_se4";
581 drive-strength = <2>;
585 qup_i2c18_default: qup-i2c18-state {
586 pins = "gpio95", "gpio96";
587 function = "qup2_se4";
588 drive-strength = <2>;
592 qup_uart12_default: qup-uart12-state {
593 qup_uart12_cts: qup-uart12-cts-pins {
595 function = "qup1_se5";
599 qup_uart12_rts: qup-uart12-rts-pins {
601 function = "qup1_se5";
605 qup_uart12_tx: qup-uart12-tx-pins {
607 function = "qup1_se5";
611 qup_uart12_rx: qup-uart12-rx-pins {
613 function = "qup1_se5";
618 qup_uart17_default: qup-uart17-state {
619 qup_uart17_cts: qup-uart17-cts-pins {
621 function = "qup2_se3";
625 qup_uart17_rts: qup0-uart17-rts-pins {
627 function = "qup2_se3";
631 qup_uart17_tx: qup0-uart17-tx-pins {
633 function = "qup2_se3";
637 qup_uart17_rx: qup0-uart17-rx-pins {
639 function = "qup2_se3";
644 pcie0_default_state: pcie0-default-state {
648 drive-strength = <2>;
654 function = "pcie0_clkreq";
655 drive-strength = <2>;
662 drive-strength = <2>;
667 pcie1_default_state: pcie1-default-state {
671 drive-strength = <2>;
677 function = "pcie1_clkreq";
678 drive-strength = <2>;
685 drive-strength = <2>;
692 perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
693 wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>;
695 pinctrl-names = "default";
696 pinctrl-0 = <&pcie0_default_state>;
702 perst-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
703 wake-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>;
705 pinctrl-names = "default";
706 pinctrl-0 = <&pcie1_default_state>;
712 vdda-phy-supply = <&vreg_l5a>;
713 vdda-pll-supply = <&vreg_l1c>;
719 vdda-phy-supply = <&vreg_l5a>;
720 vdda-pll-supply = <&vreg_l1c>;
726 compatible = "qcom,geni-debug-uart";
727 pinctrl-0 = <&qup_uart10_default>;
728 pinctrl-names = "default";
733 pinctrl-0 = <&qup_uart12_default>;
734 pinctrl-names = "default";
739 pinctrl-0 = <&qup_uart17_default>;
740 pinctrl-names = "default";
745 reset-gpios = <&tlmm 149 GPIO_ACTIVE_LOW>;
746 vcc-supply = <&vreg_l8a>;
747 vcc-max-microamp = <1100000>;
748 vccq-supply = <&vreg_l4c>;
749 vccq-max-microamp = <1200000>;
755 vdda-phy-supply = <&vreg_l4a>;
756 vdda-pll-supply = <&vreg_l1c>;
762 pinctrl-names = "default";
763 pinctrl-0 = <&usb0_en_state>;
769 dr_mode = "peripheral";
773 vdda-pll-supply = <&vreg_l7a>;
774 vdda18-supply = <&vreg_l6c>;
775 vdda33-supply = <&vreg_l9a>;
781 vdda-phy-supply = <&vreg_l1c>;
782 vdda-pll-supply = <&vreg_l7a>;
788 pinctrl-names = "default";
789 pinctrl-0 = <&usb1_en_state>;
799 vdda-pll-supply = <&vreg_l7a>;
800 vdda18-supply = <&vreg_l6c>;
801 vdda33-supply = <&vreg_l9a>;
807 vdda-phy-supply = <&vreg_l1c>;
808 vdda-pll-supply = <&vreg_l7a>;
814 pinctrl-names = "default";
815 pinctrl-0 = <&usb2_en_state>;
825 vdda-pll-supply = <&vreg_l7a>;
826 vdda18-supply = <&vreg_l6c>;
827 vdda33-supply = <&vreg_l9a>;
833 clock-frequency = <38400000>;