| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2021, The Linux Foundation. All rights reserved. |
| * Copyright (c) 2022, Linaro Limited |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/regulator/qcom,rpmh-regulator.h> |
| #include <dt-bindings/spmi/spmi.h> |
| |
| #include "sa8540p.dtsi" |
| |
| / { |
| model = "Qualcomm SA8295P ADP"; |
| compatible = "qcom,sa8295p-adp", "qcom,sa8540p"; |
| |
| aliases { |
| serial0 = &qup2_uart17; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| }; |
| |
| &apps_rsc { |
| pmm8540-a-regulators { |
| compatible = "qcom,pm8150-rpmh-regulators"; |
| qcom,pmic-id = "a"; |
| |
| vreg_l3a: ldo3 { |
| regulator-name = "vreg_l3a"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1208000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l5a: ldo5 { |
| regulator-name = "vreg_l5a"; |
| regulator-min-microvolt = <912000>; |
| regulator-max-microvolt = <912000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l7a: ldo7 { |
| regulator-name = "vreg_l7a"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l13a: ldo13 { |
| regulator-name = "vreg_l13a"; |
| regulator-min-microvolt = <3072000>; |
| regulator-max-microvolt = <3072000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| }; |
| |
| pmm8540-c-regulators { |
| compatible = "qcom,pm8150-rpmh-regulators"; |
| qcom,pmic-id = "c"; |
| |
| vreg_l1c: ldo1 { |
| regulator-name = "vreg_l1c"; |
| regulator-min-microvolt = <912000>; |
| regulator-max-microvolt = <912000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l2c: ldo2 { |
| regulator-name = "vreg_l2c"; |
| regulator-min-microvolt = <3072000>; |
| regulator-max-microvolt = <3072000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l3c: ldo3 { |
| regulator-name = "vreg_l3c"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = |
| <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l4c: ldo4 { |
| regulator-name = "vreg_l4c"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1208000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l6c: ldo6 { |
| regulator-name = "vreg_l6c"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = |
| <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l7c: ldo7 { |
| regulator-name = "vreg_l7c"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l10c: ldo10 { |
| regulator-name = "vreg_l10c"; |
| regulator-min-microvolt = <2504000>; |
| regulator-max-microvolt = <2504000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = |
| <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l17c: ldo17 { |
| regulator-name = "vreg_l17c"; |
| regulator-min-microvolt = <2504000>; |
| regulator-max-microvolt = <2504000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = |
| <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| }; |
| |
| pmm8540-g-regulators { |
| compatible = "qcom,pm8150-rpmh-regulators"; |
| qcom,pmic-id = "g"; |
| |
| vreg_l3g: ldo3 { |
| regulator-name = "vreg_l3g"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l7g: ldo7 { |
| regulator-name = "vreg_l7g"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l8g: ldo8 { |
| regulator-name = "vreg_l8g"; |
| regulator-min-microvolt = <880000>; |
| regulator-max-microvolt = <880000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| }; |
| }; |
| |
| &qup2 { |
| status = "okay"; |
| }; |
| |
| &qup2_uart17 { |
| compatible = "qcom,geni-debug-uart"; |
| status = "okay"; |
| }; |
| |
| &remoteproc_adsp { |
| firmware-name = "qcom/sa8540p/adsp.mbn"; |
| status = "okay"; |
| }; |
| |
| &remoteproc_nsp0 { |
| firmware-name = "qcom/sa8540p/cdsp.mbn"; |
| status = "okay"; |
| }; |
| |
| &remoteproc_nsp1 { |
| firmware-name = "qcom/sa8540p/cdsp1.mbn"; |
| status = "okay"; |
| }; |
| |
| &spmi_bus { |
| pm8450a: pmic@0 { |
| compatible = "qcom,pm8150", "qcom,spmi-pmic"; |
| reg = <0x0 SPMI_USID>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pm8450a_gpios: gpio@c000 { |
| compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; |
| reg = <0xc000>; |
| gpio-controller; |
| gpio-ranges = <&pm8450a_gpios 0 0 10>; |
| #gpio-cells = <2>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| }; |
| |
| pm8450c: pmic@4 { |
| compatible = "qcom,pm8150", "qcom,spmi-pmic"; |
| reg = <0x4 SPMI_USID>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pm8450c_gpios: gpio@c000 { |
| compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; |
| reg = <0xc000>; |
| gpio-controller; |
| gpio-ranges = <&pm8450c_gpios 0 0 10>; |
| #gpio-cells = <2>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| }; |
| |
| pm8450e: pmic@8 { |
| compatible = "qcom,pm8150", "qcom,spmi-pmic"; |
| reg = <0x8 SPMI_USID>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pm8450e_gpios: gpio@c000 { |
| compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; |
| reg = <0xc000>; |
| gpio-controller; |
| gpio-ranges = <&pm8450e_gpios 0 0 10>; |
| #gpio-cells = <2>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| }; |
| |
| pm8450g: pmic@c { |
| compatible = "qcom,pm8150", "qcom,spmi-pmic"; |
| reg = <0xc SPMI_USID>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pm8450g_gpios: gpio@c000 { |
| compatible = "qcom,pm8150-gpio", "qcom,spmi-gpio"; |
| reg = <0xc000>; |
| gpio-controller; |
| gpio-ranges = <&pm8450g_gpios 0 0 10>; |
| #gpio-cells = <2>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| }; |
| }; |
| |
| &ufs_mem_hc { |
| reset-gpios = <&tlmm 228 GPIO_ACTIVE_LOW>; |
| |
| vcc-supply = <&vreg_l17c>; |
| vcc-max-microamp = <800000>; |
| vccq-supply = <&vreg_l6c>; |
| vccq-max-microamp = <900000>; |
| |
| status = "okay"; |
| }; |
| |
| &ufs_mem_phy { |
| vdda-phy-supply = <&vreg_l8g>; |
| vdda-pll-supply = <&vreg_l3g>; |
| |
| status = "okay"; |
| }; |
| |
| &ufs_card_hc { |
| reset-gpios = <&tlmm 229 GPIO_ACTIVE_LOW>; |
| |
| vcc-supply = <&vreg_l10c>; |
| vcc-max-microamp = <800000>; |
| vccq-supply = <&vreg_l3c>; |
| vccq-max-microamp = <900000>; |
| |
| status = "okay"; |
| }; |
| |
| &ufs_card_phy { |
| vdda-phy-supply = <&vreg_l8g>; |
| vdda-pll-supply = <&vreg_l3g>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_0 { |
| status = "okay"; |
| }; |
| |
| &usb_0_dwc3 { |
| /* TODO: Define USB-C connector properly */ |
| dr_mode = "peripheral"; |
| }; |
| |
| &usb_0_hsphy { |
| vdda-pll-supply = <&vreg_l5a>; |
| vdda18-supply = <&vreg_l7a>; |
| vdda33-supply = <&vreg_l13a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_0_qmpphy { |
| vdda-phy-supply = <&vreg_l3a>; |
| vdda-pll-supply = <&vreg_l5a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_1 { |
| status = "okay"; |
| }; |
| |
| &usb_1_dwc3 { |
| /* TODO: Define USB-C connector properly */ |
| dr_mode = "host"; |
| }; |
| |
| &usb_1_hsphy { |
| vdda-pll-supply = <&vreg_l1c>; |
| vdda18-supply = <&vreg_l7c>; |
| vdda33-supply = <&vreg_l2c>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_1_qmpphy { |
| vdda-phy-supply = <&vreg_l4c>; |
| vdda-pll-supply = <&vreg_l1c>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_2_hsphy0 { |
| vdda-pll-supply = <&vreg_l5a>; |
| vdda18-supply = <&vreg_l7g>; |
| vdda33-supply = <&vreg_l13a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_2_hsphy1 { |
| vdda-pll-supply = <&vreg_l5a>; |
| vdda18-supply = <&vreg_l7g>; |
| vdda33-supply = <&vreg_l13a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_2_hsphy2 { |
| vdda-pll-supply = <&vreg_l5a>; |
| vdda18-supply = <&vreg_l7g>; |
| vdda33-supply = <&vreg_l13a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_2_hsphy3 { |
| vdda-pll-supply = <&vreg_l5a>; |
| vdda18-supply = <&vreg_l7g>; |
| vdda33-supply = <&vreg_l13a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_2_qmpphy0 { |
| vdda-phy-supply = <&vreg_l3a>; |
| vdda-pll-supply = <&vreg_l5a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_2_qmpphy1 { |
| vdda-phy-supply = <&vreg_l3a>; |
| vdda-pll-supply = <&vreg_l5a>; |
| |
| status = "okay"; |
| }; |
| |
| &xo_board_clk { |
| clock-frequency = <38400000>; |
| }; |
| |
| /* PINCTRL */ |