| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2021, Linaro Limited |
| */ |
| |
| /dts-v1/; |
| |
| #include <dt-bindings/regulator/qcom,rpmh-regulator.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include "sa8155p.dtsi" |
| #include "pmm8155au_1.dtsi" |
| #include "pmm8155au_2.dtsi" |
| |
| / { |
| model = "Qualcomm Technologies, Inc. SA8155P ADP"; |
| compatible = "qcom,sa8155p-adp", "qcom,sa8155p"; |
| |
| aliases { |
| serial0 = &uart2; |
| serial1 = &uart9; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| vreg_3p3: vreg-3p3-regulator { |
| compatible = "regulator-fixed"; |
| regulator-name = "vreg_3p3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| /* |
| * S4A is always on and not controllable through RPMh. |
| * So model it as a fixed regulator. |
| */ |
| vreg_s4a_1p8: smps4 { |
| compatible = "regulator-fixed"; |
| regulator-name = "vreg_s4a_1p8"; |
| |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| |
| vin-supply = <&vreg_3p3>; |
| }; |
| }; |
| |
| &apps_rsc { |
| regulators-0 { |
| compatible = "qcom,pmm8155au-rpmh-regulators"; |
| qcom,pmic-id = "a"; |
| |
| vdd-s1-supply = <&vreg_3p3>; |
| vdd-s2-supply = <&vreg_3p3>; |
| vdd-s3-supply = <&vreg_3p3>; |
| vdd-s4-supply = <&vreg_3p3>; |
| vdd-s5-supply = <&vreg_3p3>; |
| vdd-s6-supply = <&vreg_3p3>; |
| vdd-s7-supply = <&vreg_3p3>; |
| vdd-s8-supply = <&vreg_3p3>; |
| vdd-s9-supply = <&vreg_3p3>; |
| vdd-s10-supply = <&vreg_3p3>; |
| |
| vdd-l1-l8-l11-supply = <&vreg_s6a_0p92>; |
| vdd-l2-l10-supply = <&vreg_3p3>; |
| vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p92>; |
| vdd-l6-l9-supply = <&vreg_s6a_0p92>; |
| vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; |
| vdd-l13-l16-l17-supply = <&vreg_3p3>; |
| |
| vreg_s5a_2p04: smps5 { |
| regulator-name = "vreg_s5a_2p04"; |
| regulator-min-microvolt = <1904000>; |
| regulator-max-microvolt = <2000000>; |
| }; |
| |
| vreg_s6a_0p92: smps6 { |
| regulator-name = "vreg_s6a_0p92"; |
| regulator-min-microvolt = <920000>; |
| regulator-max-microvolt = <1128000>; |
| }; |
| |
| vreg_l1a_0p752: ldo1 { |
| regulator-name = "vreg_l1a_0p752"; |
| regulator-min-microvolt = <752000>; |
| regulator-max-microvolt = <752000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vdda_usb_hs_3p1: |
| vreg_l2a_3p072: ldo2 { |
| regulator-name = "vreg_l2a_3p072"; |
| regulator-min-microvolt = <3072000>; |
| regulator-max-microvolt = <3072000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l3a_0p8: ldo3 { |
| regulator-name = "vreg_l3a_0p8"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vdd_usb_hs_core: |
| vdda_usb_ss_dp_core_1: |
| vreg_l5a_0p88: ldo5 { |
| regulator-name = "vreg_l5a_0p88"; |
| regulator-min-microvolt = <880000>; |
| regulator-max-microvolt = <880000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l7a_1p8: ldo7 { |
| regulator-name = "vreg_l7a_1p8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l10a_2p96: ldo10 { |
| regulator-name = "vreg_l10a_2p96"; |
| regulator-min-microvolt = <2504000>; |
| regulator-max-microvolt = <2960000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l11a_0p8: ldo11 { |
| regulator-name = "vreg_l11a_0p8"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vdda_usb_hs_1p8: |
| vreg_l12a_1p8: ldo12 { |
| regulator-name = "vreg_l12a_1p8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l13a_2p7: ldo13 { |
| regulator-name = "vreg_l13a_2p7"; |
| regulator-min-microvolt = <2704000>; |
| regulator-max-microvolt = <2704000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l15a_1p7: ldo15 { |
| regulator-name = "vreg_l15a_1p7"; |
| regulator-min-microvolt = <1704000>; |
| regulator-max-microvolt = <1704000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l16a_2p7: ldo16 { |
| regulator-name = "vreg_l16a_2p7"; |
| regulator-min-microvolt = <2704000>; |
| regulator-max-microvolt = <2960000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l17a_2p96: ldo17 { |
| regulator-name = "vreg_l17a_2p96"; |
| regulator-min-microvolt = <2504000>; |
| regulator-max-microvolt = <2960000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| }; |
| |
| regulators-1 { |
| compatible = "qcom,pmm8155au-rpmh-regulators"; |
| qcom,pmic-id = "c"; |
| |
| vdd-s1-supply = <&vreg_3p3>; |
| vdd-s2-supply = <&vreg_3p3>; |
| vdd-s3-supply = <&vreg_3p3>; |
| vdd-s4-supply = <&vreg_3p3>; |
| vdd-s5-supply = <&vreg_3p3>; |
| vdd-s6-supply = <&vreg_3p3>; |
| vdd-s7-supply = <&vreg_3p3>; |
| vdd-s8-supply = <&vreg_3p3>; |
| vdd-s9-supply = <&vreg_3p3>; |
| vdd-s10-supply = <&vreg_3p3>; |
| |
| vdd-l1-l8-l11-supply = <&vreg_s4c_1p352>; |
| vdd-l2-l10-supply = <&vreg_3p3>; |
| vdd-l3-l4-l5-l18-supply = <&vreg_s4c_1p352>; |
| vdd-l6-l9-supply = <&vreg_s6c_1p128>; |
| vdd-l7-l12-l14-l15-supply = <&vreg_s5c_2p04>; |
| vdd-l13-l16-l17-supply = <&vreg_3p3>; |
| |
| vreg_s4c_1p352: smps4 { |
| regulator-name = "vreg_s4c_1p352"; |
| regulator-min-microvolt = <1352000>; |
| regulator-max-microvolt = <1352000>; |
| }; |
| |
| vreg_s5c_2p04: smps5 { |
| regulator-name = "vreg_s5c_2p04"; |
| regulator-min-microvolt = <1904000>; |
| regulator-max-microvolt = <2000000>; |
| }; |
| |
| vreg_s6c_1p128: smps6 { |
| regulator-name = "vreg_s6c_1p128"; |
| regulator-min-microvolt = <1128000>; |
| regulator-max-microvolt = <1128000>; |
| }; |
| |
| vreg_l1c_1p304: ldo1 { |
| regulator-name = "vreg_l1c_1p304"; |
| regulator-min-microvolt = <1304000>; |
| regulator-max-microvolt = <1304000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l2c_1p808: ldo2 { |
| regulator-name = "vreg_l2c_1p808"; |
| regulator-min-microvolt = <1704000>; |
| regulator-max-microvolt = <2928000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l5c_1p2: ldo5 { |
| regulator-name = "vreg_l5c_1p2"; |
| 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_1p8: ldo7 { |
| regulator-name = "vreg_l7c_1p8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l8c_1p2: ldo8 { |
| regulator-name = "vreg_l8c_1p2"; |
| 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_l10c_3p3: ldo10 { |
| regulator-name = "vreg_l10c_3p3"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3312000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l11c_0p8: ldo11 { |
| regulator-name = "vreg_l11c_0p8"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <800000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l12c_1p808: ldo12 { |
| regulator-name = "vreg_l12c_1p808"; |
| regulator-min-microvolt = <1704000>; |
| regulator-max-microvolt = <2928000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l13c_2p96: ldo13 { |
| regulator-name = "vreg_l13c_2p96"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2960000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l15c_1p9: ldo15 { |
| regulator-name = "vreg_l15c_1p9"; |
| regulator-min-microvolt = <1704000>; |
| regulator-max-microvolt = <2928000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l16c_3p008: ldo16 { |
| regulator-name = "vreg_l16c_3p008"; |
| regulator-min-microvolt = <3008000>; |
| regulator-max-microvolt = <3008000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l18c_0p88: ldo18 { |
| regulator-name = "vreg_l18c_0p88"; |
| regulator-min-microvolt = <880000>; |
| regulator-max-microvolt = <880000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| }; |
| }; |
| |
| ðernet { |
| status = "okay"; |
| |
| snps,reset-gpio = <&tlmm 79 GPIO_ACTIVE_LOW>; |
| snps,reset-active-low; |
| snps,reset-delays-us = <0 11000 70000>; |
| |
| snps,mtl-rx-config = <&mtl_rx_setup>; |
| snps,mtl-tx-config = <&mtl_tx_setup>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <ðernet_defaults>; |
| |
| phy-handle = <&rgmii_phy>; |
| phy-mode = "rgmii"; |
| max-speed = <1000>; |
| |
| mdio { |
| compatible = "snps,dwmac-mdio"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| /* Micrel KSZ9031RNZ PHY */ |
| rgmii_phy: phy@7 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0x7>; |
| |
| interrupts-extended = <&tlmm 124 IRQ_TYPE_EDGE_FALLING>; |
| device_type = "ethernet-phy"; |
| }; |
| }; |
| |
| mtl_rx_setup: rx-queues-config { |
| snps,rx-queues-to-use = <1>; |
| snps,rx-sched-sp; |
| |
| queue0 { |
| snps,dcb-algorithm; |
| snps,map-to-dma-channel = <0x0>; |
| snps,route-up; |
| snps,priority = <0x1>; |
| }; |
| }; |
| |
| mtl_tx_setup: tx-queues-config { |
| snps,tx-queues-to-use = <1>; |
| snps,tx-sched-wrr; |
| |
| queue0 { |
| snps,weight = <0x10>; |
| snps,dcb-algorithm; |
| snps,priority = <0x0>; |
| }; |
| }; |
| }; |
| |
| &pmm8155au_1_gpios { |
| pmm8155au_1_sdc2_cd: sdc2-cd-default-state { |
| pins = "gpio4"; |
| function = "normal"; |
| input-enable; |
| bias-pull-up; |
| power-source = <0>; |
| }; |
| }; |
| |
| &qupv3_id_1 { |
| status = "okay"; |
| }; |
| |
| &remoteproc_adsp { |
| status = "okay"; |
| firmware-name = "qcom/sa8155p/adsp.mdt"; |
| }; |
| |
| &remoteproc_cdsp { |
| status = "okay"; |
| firmware-name = "qcom/sa8155p/cdsp.mdt"; |
| }; |
| |
| &sdhc_2 { |
| status = "okay"; |
| |
| cd-gpios = <&pmm8155au_1_gpios 4 GPIO_ACTIVE_LOW>; |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&sdc2_on &pmm8155au_1_sdc2_cd>; |
| pinctrl-1 = <&sdc2_off &pmm8155au_1_sdc2_cd>; |
| vqmmc-supply = <&vreg_l13c_2p96>; /* IO line power */ |
| vmmc-supply = <&vreg_l17a_2p96>; /* Card power line */ |
| bus-width = <4>; |
| no-sdio; |
| no-mmc; |
| }; |
| |
| &uart2 { |
| status = "okay"; |
| }; |
| |
| &uart9 { |
| status = "okay"; |
| }; |
| |
| &ufs_mem_hc { |
| status = "okay"; |
| |
| reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>; |
| |
| vcc-supply = <&vreg_l10a_2p96>; |
| vcc-max-microamp = <750000>; |
| vccq-supply = <&vreg_l5c_1p2>; |
| vccq-max-microamp = <700000>; |
| vccq2-supply = <&vreg_s4a_1p8>; |
| vccq2-max-microamp = <750000>; |
| }; |
| |
| &ufs_mem_phy { |
| status = "okay"; |
| |
| vdda-phy-supply = <&vreg_l8c_1p2>; |
| vdda-pll-supply = <&vreg_l5a_0p88>; |
| }; |
| |
| &usb_1 { |
| status = "okay"; |
| }; |
| |
| &usb_1_dwc3 { |
| dr_mode = "host"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usb2phy_ac_en1_default>; |
| }; |
| |
| &usb_1_hsphy { |
| status = "okay"; |
| vdda-pll-supply = <&vdd_usb_hs_core>; |
| vdda33-supply = <&vdda_usb_hs_3p1>; |
| vdda18-supply = <&vdda_usb_hs_1p8>; |
| }; |
| |
| &usb_1_qmpphy { |
| status = "disabled"; |
| }; |
| |
| &usb_2 { |
| status = "okay"; |
| }; |
| |
| &usb_2_dwc3 { |
| dr_mode = "host"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usb2phy_ac_en2_default>; |
| }; |
| |
| &usb_2_hsphy { |
| status = "okay"; |
| vdda-pll-supply = <&vdd_usb_hs_core>; |
| vdda33-supply = <&vdda_usb_hs_3p1>; |
| vdda18-supply = <&vdda_usb_hs_1p8>; |
| }; |
| |
| &usb_2_qmpphy { |
| status = "okay"; |
| vdda-phy-supply = <&vreg_l8c_1p2>; |
| vdda-pll-supply = <&vdda_usb_ss_dp_core_1>; |
| }; |
| |
| &pcie0 { |
| status = "okay"; |
| }; |
| |
| &pcie0_phy { |
| status = "okay"; |
| vdda-phy-supply = <&vreg_l18c_0p88>; |
| vdda-pll-supply = <&vreg_l8c_1p2>; |
| }; |
| |
| &pcie1_phy { |
| vdda-phy-supply = <&vreg_l18c_0p88>; |
| vdda-pll-supply = <&vreg_l8c_1p2>; |
| }; |
| |
| &tlmm { |
| gpio-reserved-ranges = <0 4>; |
| |
| sdc2_on: sdc2-on-state { |
| clk-pins { |
| pins = "sdc2_clk"; |
| bias-disable; /* No pull */ |
| drive-strength = <16>; /* 16 MA */ |
| }; |
| |
| cmd-pins { |
| pins = "sdc2_cmd"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <16>; /* 16 MA */ |
| }; |
| |
| data-pins { |
| pins = "sdc2_data"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <16>; /* 16 MA */ |
| }; |
| }; |
| |
| sdc2_off: sdc2-off-state { |
| clk-pins { |
| pins = "sdc2_clk"; |
| bias-disable; /* No pull */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| |
| cmd-pins { |
| pins = "sdc2_cmd"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| |
| data-pins { |
| pins = "sdc2_data"; |
| bias-pull-up; /* pull up */ |
| drive-strength = <2>; /* 2 MA */ |
| }; |
| }; |
| |
| usb2phy_ac_en1_default: usb2phy-ac-en1-default-state { |
| pins = "gpio113"; |
| function = "usb2phy_ac"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| |
| usb2phy_ac_en2_default: usb2phy-ac-en2-default-state { |
| pins = "gpio123"; |
| function = "usb2phy_ac"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| |
| ethernet_defaults: ethernet-defaults-state { |
| mdc-pins { |
| pins = "gpio7"; |
| function = "rgmii"; |
| bias-pull-up; |
| }; |
| |
| mdio-pins { |
| pins = "gpio59"; |
| function = "rgmii"; |
| bias-pull-up; |
| }; |
| |
| rgmii-rx-pins { |
| pins = "gpio117", "gpio118", "gpio119", "gpio120", "gpio115", "gpio116"; |
| function = "rgmii"; |
| bias-disable; |
| drive-strength = <2>; |
| }; |
| |
| rgmii-tx-pins { |
| pins = "gpio122", "gpio4", "gpio5", "gpio6", "gpio114", "gpio121"; |
| function = "rgmii"; |
| bias-pull-up; |
| drive-strength = <16>; |
| }; |
| |
| phy-intr-pins { |
| pins = "gpio124"; |
| function = "emac_phy"; |
| bias-disable; |
| drive-strength = <8>; |
| }; |
| |
| pps-pins { |
| pins = "gpio81"; |
| function = "emac_pps"; |
| bias-disable; |
| drive-strength = <8>; |
| }; |
| |
| phy-reset-pins { |
| pins = "gpio79"; |
| function = "gpio"; |
| bias-pull-up; |
| drive-strength = <16>; |
| }; |
| }; |
| }; |