0001 // SPDX-License-Identifier: BSD-3-Clause
0002 /*
0003 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
0004 * Copyright (c) 2022, Linaro Limited
0005 */
0006
0007 /dts-v1/;
0008
0009 #include <dt-bindings/gpio/gpio.h>
0010 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
0011 #include <dt-bindings/spmi/spmi.h>
0012
0013 #include "sa8540p.dtsi"
0014
0015 / {
0016 model = "Qualcomm SA8295P ADP";
0017 compatible = "qcom,sa8295p-adp", "qcom,sa8540p";
0018
0019 aliases {
0020 serial0 = &qup2_uart17;
0021 };
0022
0023 chosen {
0024 stdout-path = "serial0:115200n8";
0025 };
0026 };
0027
0028 &apps_rsc {
0029 pmm8540-a-regulators {
0030 compatible = "qcom,pm8150-rpmh-regulators";
0031 qcom,pmic-id = "a";
0032
0033 vreg_l3a: ldo3 {
0034 regulator-name = "vreg_l3a";
0035 regulator-min-microvolt = <1200000>;
0036 regulator-max-microvolt = <1208000>;
0037 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0038 regulator-allow-set-load;
0039 };
0040
0041 vreg_l5a: ldo5 {
0042 regulator-name = "vreg_l5a";
0043 regulator-min-microvolt = <912000>;
0044 regulator-max-microvolt = <912000>;
0045 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0046 regulator-allow-set-load;
0047 };
0048
0049 vreg_l7a: ldo7 {
0050 regulator-name = "vreg_l7a";
0051 regulator-min-microvolt = <1800000>;
0052 regulator-max-microvolt = <1800000>;
0053 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0054 regulator-allow-set-load;
0055 };
0056
0057 vreg_l13a: ldo13 {
0058 regulator-name = "vreg_l13a";
0059 regulator-min-microvolt = <3072000>;
0060 regulator-max-microvolt = <3072000>;
0061 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0062 regulator-allow-set-load;
0063 };
0064 };
0065
0066 pmm8540-c-regulators {
0067 compatible = "qcom,pm8150-rpmh-regulators";
0068 qcom,pmic-id = "c";
0069
0070 vreg_l1c: ldo1 {
0071 regulator-name = "vreg_l1c";
0072 regulator-min-microvolt = <912000>;
0073 regulator-max-microvolt = <912000>;
0074 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0075 regulator-allow-set-load;
0076 };
0077
0078 vreg_l2c: ldo2 {
0079 regulator-name = "vreg_l2c";
0080 regulator-min-microvolt = <3072000>;
0081 regulator-max-microvolt = <3072000>;
0082 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0083 regulator-allow-set-load;
0084 };
0085
0086 vreg_l3c: ldo3 {
0087 regulator-name = "vreg_l3c";
0088 regulator-min-microvolt = <1200000>;
0089 regulator-max-microvolt = <1200000>;
0090 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0091 regulator-allow-set-load;
0092 };
0093
0094 vreg_l4c: ldo4 {
0095 regulator-name = "vreg_l4c";
0096 regulator-min-microvolt = <1200000>;
0097 regulator-max-microvolt = <1208000>;
0098 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0099 regulator-allow-set-load;
0100 };
0101
0102 vreg_l6c: ldo6 {
0103 regulator-name = "vreg_l6c";
0104 regulator-min-microvolt = <1200000>;
0105 regulator-max-microvolt = <1200000>;
0106 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0107 regulator-allow-set-load;
0108 };
0109
0110 vreg_l7c: ldo7 {
0111 regulator-name = "vreg_l7c";
0112 regulator-min-microvolt = <1800000>;
0113 regulator-max-microvolt = <1800000>;
0114 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0115 regulator-allow-set-load;
0116 };
0117
0118 vreg_l10c: ldo10 {
0119 regulator-name = "vreg_l10c";
0120 regulator-min-microvolt = <2504000>;
0121 regulator-max-microvolt = <2504000>;
0122 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0123 regulator-allow-set-load;
0124 };
0125
0126 vreg_l17c: ldo17 {
0127 regulator-name = "vreg_l17c";
0128 regulator-min-microvolt = <2504000>;
0129 regulator-max-microvolt = <2504000>;
0130 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0131 regulator-allow-set-load;
0132 };
0133 };
0134
0135 pmm8540-g-regulators {
0136 compatible = "qcom,pm8150-rpmh-regulators";
0137 qcom,pmic-id = "g";
0138
0139 vreg_l3g: ldo3 {
0140 regulator-name = "vreg_l3g";
0141 regulator-min-microvolt = <1200000>;
0142 regulator-max-microvolt = <1200000>;
0143 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0144 regulator-allow-set-load;
0145 };
0146
0147 vreg_l7g: ldo7 {
0148 regulator-name = "vreg_l7g";
0149 regulator-min-microvolt = <1800000>;
0150 regulator-max-microvolt = <1800000>;
0151 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0152 regulator-allow-set-load;
0153 };
0154
0155 vreg_l8g: ldo8 {
0156 regulator-name = "vreg_l8g";
0157 regulator-min-microvolt = <880000>;
0158 regulator-max-microvolt = <880000>;
0159 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
0160 regulator-allow-set-load;
0161 };
0162 };
0163 };
0164
0165 &qup2 {
0166 status = "okay";
0167 };
0168
0169 &qup2_uart17 {
0170 compatible = "qcom,geni-debug-uart";
0171 status = "okay";
0172 };
0173
0174 &remoteproc_adsp {
0175 firmware-name = "qcom/sa8540p/adsp.mbn";
0176 status = "okay";
0177 };
0178
0179 &remoteproc_nsp0 {
0180 firmware-name = "qcom/sa8540p/cdsp.mbn";
0181 status = "okay";
0182 };
0183
0184 &remoteproc_nsp1 {
0185 firmware-name = "qcom/sa8540p/cdsp1.mbn";
0186 status = "okay";
0187 };
0188
0189 &spmi_bus {
0190 pm8450a: pmic@0 {
0191 compatible = "qcom,pm8150", "qcom,spmi-pmic";
0192 reg = <0x0 SPMI_USID>;
0193 #address-cells = <1>;
0194 #size-cells = <0>;
0195
0196 pm8450a_gpios: gpio@c000 {
0197 compatible = "qcom,pm8150-gpio";
0198 reg = <0xc000>;
0199 gpio-controller;
0200 #gpio-cells = <2>;
0201 interrupt-controller;
0202 #interrupt-cells = <2>;
0203 };
0204 };
0205
0206 pm8450c: pmic@4 {
0207 compatible = "qcom,pm8150", "qcom,spmi-pmic";
0208 reg = <0x4 SPMI_USID>;
0209 #address-cells = <1>;
0210 #size-cells = <0>;
0211
0212 pm8450c_gpios: gpio@c000 {
0213 compatible = "qcom,pm8150-gpio";
0214 reg = <0xc000>;
0215 gpio-controller;
0216 #gpio-cells = <2>;
0217 interrupt-controller;
0218 #interrupt-cells = <2>;
0219 };
0220 };
0221
0222 pm8450e: pmic@8 {
0223 compatible = "qcom,pm8150", "qcom,spmi-pmic";
0224 reg = <0x8 SPMI_USID>;
0225 #address-cells = <1>;
0226 #size-cells = <0>;
0227
0228 pm8450e_gpios: gpio@c000 {
0229 compatible = "qcom,pm8150-gpio";
0230 reg = <0xc000>;
0231 gpio-controller;
0232 #gpio-cells = <2>;
0233 interrupt-controller;
0234 #interrupt-cells = <2>;
0235 };
0236 };
0237
0238 pm8450g: pmic@c {
0239 compatible = "qcom,pm8150", "qcom,spmi-pmic";
0240 reg = <0xc SPMI_USID>;
0241 #address-cells = <1>;
0242 #size-cells = <0>;
0243
0244 pm8450g_gpios: gpio@c000 {
0245 compatible = "qcom,pm8150-gpio";
0246 reg = <0xc000>;
0247 gpio-controller;
0248 #gpio-cells = <2>;
0249 interrupt-controller;
0250 #interrupt-cells = <2>;
0251 };
0252 };
0253 };
0254
0255 &ufs_mem_hc {
0256 reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>;
0257
0258 vcc-supply = <&vreg_l17c>;
0259 vcc-max-microamp = <800000>;
0260 vccq-supply = <&vreg_l6c>;
0261 vccq-max-microamp = <900000>;
0262
0263 status = "okay";
0264 };
0265
0266 &ufs_mem_phy {
0267 vdda-phy-supply = <&vreg_l8g>;
0268 vdda-pll-supply = <&vreg_l3g>;
0269
0270 status = "okay";
0271 };
0272
0273 &ufs_card_hc {
0274 reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>;
0275
0276 vcc-supply = <&vreg_l10c>;
0277 vcc-max-microamp = <800000>;
0278 vccq-supply = <&vreg_l3c>;
0279 vccq-max-microamp = <900000>;
0280
0281 status = "okay";
0282 };
0283
0284 &ufs_card_phy {
0285 vdda-phy-supply = <&vreg_l8g>;
0286 vdda-pll-supply = <&vreg_l3g>;
0287
0288 status = "okay";
0289 };
0290
0291 &usb_0 {
0292 status = "okay";
0293 };
0294
0295 &usb_0_dwc3 {
0296 /* TODO: Define USB-C connector properly */
0297 dr_mode = "peripheral";
0298 };
0299
0300 &usb_0_hsphy {
0301 vdda-pll-supply = <&vreg_l5a>;
0302 vdda18-supply = <&vreg_l7a>;
0303 vdda33-supply = <&vreg_l13a>;
0304
0305 status = "okay";
0306 };
0307
0308 &usb_0_qmpphy {
0309 vdda-phy-supply = <&vreg_l3a>;
0310 vdda-pll-supply = <&vreg_l5a>;
0311
0312 status = "okay";
0313 };
0314
0315 &usb_1 {
0316 status = "okay";
0317 };
0318
0319 &usb_1_dwc3 {
0320 /* TODO: Define USB-C connector properly */
0321 dr_mode = "host";
0322 };
0323
0324 &usb_1_hsphy {
0325 vdda-pll-supply = <&vreg_l1c>;
0326 vdda18-supply = <&vreg_l7c>;
0327 vdda33-supply = <&vreg_l2c>;
0328
0329 status = "okay";
0330 };
0331
0332 &usb_1_qmpphy {
0333 vdda-phy-supply = <&vreg_l4c>;
0334 vdda-pll-supply = <&vreg_l1c>;
0335
0336 status = "okay";
0337 };
0338
0339 &usb_2_hsphy0 {
0340 vdda-pll-supply = <&vreg_l5a>;
0341 vdda18-supply = <&vreg_l7g>;
0342 vdda33-supply = <&vreg_l13a>;
0343
0344 status = "okay";
0345 };
0346
0347 &usb_2_hsphy1 {
0348 vdda-pll-supply = <&vreg_l5a>;
0349 vdda18-supply = <&vreg_l7g>;
0350 vdda33-supply = <&vreg_l13a>;
0351
0352 status = "okay";
0353 };
0354
0355 &usb_2_hsphy2 {
0356 vdda-pll-supply = <&vreg_l5a>;
0357 vdda18-supply = <&vreg_l7g>;
0358 vdda33-supply = <&vreg_l13a>;
0359
0360 status = "okay";
0361 };
0362
0363 &usb_2_hsphy3 {
0364 vdda-pll-supply = <&vreg_l5a>;
0365 vdda18-supply = <&vreg_l7g>;
0366 vdda33-supply = <&vreg_l13a>;
0367
0368 status = "okay";
0369 };
0370
0371 &usb_2_qmpphy0 {
0372 vdda-phy-supply = <&vreg_l3a>;
0373 vdda-pll-supply = <&vreg_l5a>;
0374
0375 status = "okay";
0376 };
0377
0378 &usb_2_qmpphy1 {
0379 vdda-phy-supply = <&vreg_l3a>;
0380 vdda-pll-supply = <&vreg_l5a>;
0381
0382 status = "okay";
0383 };
0384
0385 &xo_board_clk {
0386 clock-frequency = <38400000>;
0387 };
0388
0389 /* PINCTRL */