1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2021, Linaro Limited
8 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
9 #include <dt-bindings/gpio/gpio.h>
10 #include "sa8155p.dtsi"
11 #include "pmm8155au_1.dtsi"
12 #include "pmm8155au_2.dtsi"
15 model = "Qualcomm Technologies, Inc. SA8155P ADP";
16 compatible = "qcom,sa8155p-adp", "qcom,sa8155p";
24 stdout-path = "serial0:115200n8";
27 vreg_3p3: vreg-3p3-regulator {
28 compatible = "regulator-fixed";
29 regulator-name = "vreg_3p3";
30 regulator-min-microvolt = <3300000>;
31 regulator-max-microvolt = <3300000>;
35 * S4A is always on and not controllable through RPMh.
36 * So model it as a fixed regulator.
39 compatible = "regulator-fixed";
40 regulator-name = "vreg_s4a_1p8";
42 regulator-min-microvolt = <1800000>;
43 regulator-max-microvolt = <1800000>;
48 vin-supply = <&vreg_3p3>;
51 mtl_rx_setup: rx-queues-config {
52 snps,rx-queues-to-use = <1>;
57 snps,map-to-dma-channel = <0x0>;
59 snps,priority = <0x1>;
63 mtl_tx_setup: tx-queues-config {
64 snps,tx-queues-to-use = <1>;
70 snps,priority = <0x0>;
77 compatible = "qcom,pmm8155au-rpmh-regulators";
80 vdd-s1-supply = <&vreg_3p3>;
81 vdd-s2-supply = <&vreg_3p3>;
82 vdd-s3-supply = <&vreg_3p3>;
83 vdd-s4-supply = <&vreg_3p3>;
84 vdd-s5-supply = <&vreg_3p3>;
85 vdd-s6-supply = <&vreg_3p3>;
86 vdd-s7-supply = <&vreg_3p3>;
87 vdd-s8-supply = <&vreg_3p3>;
88 vdd-s9-supply = <&vreg_3p3>;
89 vdd-s10-supply = <&vreg_3p3>;
91 vdd-l1-l8-l11-supply = <&vreg_s6a_0p92>;
92 vdd-l2-l10-supply = <&vreg_3p3>;
93 vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p92>;
94 vdd-l6-l9-supply = <&vreg_s6a_0p92>;
95 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
96 vdd-l13-l16-l17-supply = <&vreg_3p3>;
98 vreg_s5a_2p04: smps5 {
99 regulator-name = "vreg_s5a_2p04";
100 regulator-min-microvolt = <1904000>;
101 regulator-max-microvolt = <2000000>;
104 vreg_s6a_0p92: smps6 {
105 regulator-name = "vreg_s6a_0p92";
106 regulator-min-microvolt = <920000>;
107 regulator-max-microvolt = <1128000>;
110 vreg_l1a_0p752: ldo1 {
111 regulator-name = "vreg_l1a_0p752";
112 regulator-min-microvolt = <752000>;
113 regulator-max-microvolt = <752000>;
114 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
118 vreg_l2a_3p072: ldo2 {
119 regulator-name = "vreg_l2a_3p072";
120 regulator-min-microvolt = <3072000>;
121 regulator-max-microvolt = <3072000>;
122 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
126 regulator-name = "vreg_l3a_0p8";
127 regulator-min-microvolt = <800000>;
128 regulator-max-microvolt = <800000>;
129 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
133 vdda_usb_ss_dp_core_1:
134 vreg_l5a_0p88: ldo5 {
135 regulator-name = "vreg_l5a_0p88";
136 regulator-min-microvolt = <880000>;
137 regulator-max-microvolt = <880000>;
138 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
139 regulator-allow-set-load;
140 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
141 RPMH_REGULATOR_MODE_HPM>;
145 regulator-name = "vreg_l7a_1p8";
146 regulator-min-microvolt = <1800000>;
147 regulator-max-microvolt = <1800000>;
148 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
151 vreg_l10a_2p96: ldo10 {
152 regulator-name = "vreg_l10a_2p96";
153 regulator-min-microvolt = <2504000>;
154 regulator-max-microvolt = <2960000>;
155 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
156 regulator-allow-set-load;
157 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
158 RPMH_REGULATOR_MODE_HPM>;
161 vreg_l11a_0p8: ldo11 {
162 regulator-name = "vreg_l11a_0p8";
163 regulator-min-microvolt = <800000>;
164 regulator-max-microvolt = <800000>;
165 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
169 vreg_l12a_1p8: ldo12 {
170 regulator-name = "vreg_l12a_1p8";
171 regulator-min-microvolt = <1800000>;
172 regulator-max-microvolt = <1800000>;
173 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
176 vreg_l13a_2p7: ldo13 {
177 regulator-name = "vreg_l13a_2p7";
178 regulator-min-microvolt = <2704000>;
179 regulator-max-microvolt = <2704000>;
180 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
183 vreg_l15a_1p7: ldo15 {
184 regulator-name = "vreg_l15a_1p7";
185 regulator-min-microvolt = <1704000>;
186 regulator-max-microvolt = <1704000>;
187 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
190 vreg_l16a_2p7: ldo16 {
191 regulator-name = "vreg_l16a_2p7";
192 regulator-min-microvolt = <2704000>;
193 regulator-max-microvolt = <2960000>;
194 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
197 vreg_l17a_2p96: ldo17 {
198 regulator-name = "vreg_l17a_2p96";
199 regulator-min-microvolt = <2504000>;
200 regulator-max-microvolt = <2960000>;
201 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
206 compatible = "qcom,pmm8155au-rpmh-regulators";
209 vdd-s1-supply = <&vreg_3p3>;
210 vdd-s2-supply = <&vreg_3p3>;
211 vdd-s3-supply = <&vreg_3p3>;
212 vdd-s4-supply = <&vreg_3p3>;
213 vdd-s5-supply = <&vreg_3p3>;
214 vdd-s6-supply = <&vreg_3p3>;
215 vdd-s7-supply = <&vreg_3p3>;
216 vdd-s8-supply = <&vreg_3p3>;
217 vdd-s9-supply = <&vreg_3p3>;
218 vdd-s10-supply = <&vreg_3p3>;
220 vdd-l1-l8-l11-supply = <&vreg_s4c_1p352>;
221 vdd-l2-l10-supply = <&vreg_3p3>;
222 vdd-l3-l4-l5-l18-supply = <&vreg_s4c_1p352>;
223 vdd-l6-l9-supply = <&vreg_s6c_1p128>;
224 vdd-l7-l12-l14-l15-supply = <&vreg_s5c_2p04>;
225 vdd-l13-l16-l17-supply = <&vreg_3p3>;
227 vreg_s4c_1p352: smps4 {
228 regulator-name = "vreg_s4c_1p352";
229 regulator-min-microvolt = <1352000>;
230 regulator-max-microvolt = <1352000>;
233 vreg_s5c_2p04: smps5 {
234 regulator-name = "vreg_s5c_2p04";
235 regulator-min-microvolt = <1904000>;
236 regulator-max-microvolt = <2000000>;
239 vreg_s6c_1p128: smps6 {
240 regulator-name = "vreg_s6c_1p128";
241 regulator-min-microvolt = <1128000>;
242 regulator-max-microvolt = <1128000>;
245 vreg_l1c_1p304: ldo1 {
246 regulator-name = "vreg_l1c_1p304";
247 regulator-min-microvolt = <1304000>;
248 regulator-max-microvolt = <1304000>;
249 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
252 vreg_l2c_1p808: ldo2 {
253 regulator-name = "vreg_l2c_1p808";
254 regulator-min-microvolt = <1704000>;
255 regulator-max-microvolt = <2928000>;
256 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
260 regulator-name = "vreg_l5c_1p2";
261 regulator-min-microvolt = <1200000>;
262 regulator-max-microvolt = <1200000>;
263 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
264 regulator-allow-set-load;
265 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
266 RPMH_REGULATOR_MODE_HPM>;
270 regulator-name = "vreg_l7c_1p8";
271 regulator-min-microvolt = <1800000>;
272 regulator-max-microvolt = <1800000>;
273 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
277 regulator-name = "vreg_l8c_1p2";
278 regulator-min-microvolt = <1200000>;
279 regulator-max-microvolt = <1200000>;
280 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281 regulator-allow-set-load;
282 regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
283 RPMH_REGULATOR_MODE_HPM>;
286 vreg_l10c_3p3: ldo10 {
287 regulator-name = "vreg_l10c_3p3";
288 regulator-min-microvolt = <3000000>;
289 regulator-max-microvolt = <3312000>;
290 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
293 vreg_l11c_0p8: ldo11 {
294 regulator-name = "vreg_l11c_0p8";
295 regulator-min-microvolt = <800000>;
296 regulator-max-microvolt = <800000>;
297 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
300 vreg_l12c_1p808: ldo12 {
301 regulator-name = "vreg_l12c_1p808";
302 regulator-min-microvolt = <1704000>;
303 regulator-max-microvolt = <2928000>;
304 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
307 vreg_l13c_2p96: ldo13 {
308 regulator-name = "vreg_l13c_2p96";
309 regulator-min-microvolt = <2504000>;
310 regulator-max-microvolt = <2960000>;
311 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
314 vreg_l15c_1p9: ldo15 {
315 regulator-name = "vreg_l15c_1p9";
316 regulator-min-microvolt = <1704000>;
317 regulator-max-microvolt = <2928000>;
318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
321 vreg_l16c_3p008: ldo16 {
322 regulator-name = "vreg_l16c_3p008";
323 regulator-min-microvolt = <3008000>;
324 regulator-max-microvolt = <3008000>;
325 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
328 vreg_l18c_0p88: ldo18 {
329 regulator-name = "vreg_l18c_0p88";
330 regulator-min-microvolt = <880000>;
331 regulator-max-microvolt = <880000>;
332 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
340 snps,reset-gpio = <&tlmm 79 GPIO_ACTIVE_LOW>;
341 snps,reset-active-low;
342 snps,reset-delays-us = <0 11000 70000>;
344 snps,mtl-rx-config = <&mtl_rx_setup>;
345 snps,mtl-tx-config = <&mtl_tx_setup>;
347 pinctrl-names = "default";
348 pinctrl-0 = <ðernet_defaults>;
350 phy-handle = <&rgmii_phy>;
355 #address-cells = <0x1>;
358 compatible = "snps,dwmac-mdio";
360 /* Micrel KSZ9031RNZ PHY */
364 interrupt-parent = <&tlmm>;
365 interrupts-extended = <&tlmm 124 IRQ_TYPE_EDGE_FALLING>; /* phy intr */
366 device_type = "ethernet-phy";
367 compatible = "ethernet-phy-ieee802.3-c22";
378 firmware-name = "qcom/sa8155p/adsp.mdt";
383 firmware-name = "qcom/sa8155p/cdsp.mdt";
389 cd-gpios = <&tlmm 4 GPIO_ACTIVE_LOW>;
390 pinctrl-names = "default", "sleep";
391 pinctrl-0 = <&sdc2_on>;
392 pinctrl-1 = <&sdc2_off>;
393 vqmmc-supply = <&vreg_l13c_2p96>; /* IO line power */
394 vmmc-supply = <&vreg_l17a_2p96>; /* Card power line */
411 reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
413 vcc-supply = <&vreg_l10a_2p96>;
414 vcc-max-microamp = <750000>;
415 vccq-supply = <&vreg_l5c_1p2>;
416 vccq-max-microamp = <700000>;
417 vccq2-supply = <&vreg_s4a_1p8>;
418 vccq2-max-microamp = <750000>;
424 vdda-phy-supply = <&vreg_l8c_1p2>;
425 vdda-pll-supply = <&vreg_l5a_0p88>;
435 pinctrl-names = "default";
436 pinctrl-0 = <&usb2phy_ac_en1_default>;
441 vdda-pll-supply = <&vdd_usb_hs_core>;
442 vdda33-supply = <&vdda_usb_hs_3p1>;
443 vdda18-supply = <&vdda_usb_hs_1p8>;
457 pinctrl-names = "default";
458 pinctrl-0 = <&usb2phy_ac_en2_default>;
463 vdda-pll-supply = <&vdd_usb_hs_core>;
464 vdda33-supply = <&vdda_usb_hs_3p1>;
465 vdda18-supply = <&vdda_usb_hs_1p8>;
470 vdda-phy-supply = <&vreg_l8c_1p2>;
471 vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
480 vdda-phy-supply = <&vreg_l18c_0p88>;
481 vdda-pll-supply = <&vreg_l8c_1p2>;
485 vdda-phy-supply = <&vreg_l18c_0p88>;
486 vdda-pll-supply = <&vreg_l8c_1p2>;
490 gpio-reserved-ranges = <0 4>;
492 sdc2_on: sdc2-on-state {
495 bias-disable; /* No pull */
496 drive-strength = <16>; /* 16 MA */
501 bias-pull-up; /* pull up */
502 drive-strength = <16>; /* 16 MA */
507 bias-pull-up; /* pull up */
508 drive-strength = <16>; /* 16 MA */
514 bias-pull-up; /* pull up */
515 drive-strength = <2>; /* 2 MA */
519 sdc2_off: sdc2-off-state {
522 bias-disable; /* No pull */
523 drive-strength = <2>; /* 2 MA */
528 bias-pull-up; /* pull up */
529 drive-strength = <2>; /* 2 MA */
534 bias-pull-up; /* pull up */
535 drive-strength = <2>; /* 2 MA */
541 bias-pull-up; /* pull up */
542 drive-strength = <2>; /* 2 MA */
546 usb2phy_ac_en1_default: usb2phy-ac-en1-default-state {
548 function = "usb2phy_ac";
550 drive-strength = <2>;
553 usb2phy_ac_en2_default: usb2phy-ac-en2-default-state {
555 function = "usb2phy_ac";
557 drive-strength = <2>;
560 ethernet_defaults: ethernet-defaults-state {
574 pins = "gpio117", "gpio118", "gpio119", "gpio120", "gpio115", "gpio116";
577 drive-strength = <2>;
581 pins = "gpio122", "gpio4", "gpio5", "gpio6", "gpio114", "gpio121";
584 drive-strength = <16>;
589 function = "emac_phy";
591 drive-strength = <8>;
596 function = "emac_pps";
598 drive-strength = <8>;
605 drive-strength = <16>;