blob: 9c7f2a881a5437d5a77c221568fd9031af8b0e93 [file] [log] [blame]
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/gpio/gpio.h>
&soc {
/* RPMh regulators */
/* PMXPRAIRIE S1 + S6 = VDD_MODEM supply */
rpmh-regulator-msslvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "mss.lvl";
VDD_MODEM_LEVEL: S1E_LEVEL:
pmxprairie_s1_level: regulator-pmxprairie-s1-level {
regulator-name = "pmxprairie_s1_level";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt =
<RPMH_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPMH_REGULATOR_LEVEL_MAX>;
qcom,init-voltage-level =
<RPMH_REGULATOR_LEVEL_RETENTION>;
};
};
rpmh-regulator-smpe2 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "smpe2";
S2E: pmxprairie_s2: regulator-pmxprairie-s2 {
regulator-name = "pmxprairie_s2";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1280000>;
regulator-max-microvolt = <1400000>;
qcom,init-voltage = <1280000>;
};
};
rpmh-regulator-smpe3 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "smpe3";
S3E: pmxprairie_s3: regulator-pmxprairie-s3 {
regulator-name = "pmxprairie_s3";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1000000>;
qcom,init-voltage = <950000>;
};
};
rpmh-regulator-smpe4 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "smpe4";
S4E: pmxprairie_s4: regulator-pmxprairie-s4 {
regulator-name = "pmxprairie_s4";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1960000>;
qcom,init-voltage = <1800000>;
};
};
/* PMXPRAIRIE S7 = VDD_MX supply */
rpmh-regulator-mxlvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "mx.lvl";
VDD_MX_LEVEL: S7E_LEVEL:
pmxprairie_s7_level: regulator-pmxprairie-s7-level {
regulator-name = "pmxprairie_s7_level";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt =
<RPMH_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPMH_REGULATOR_LEVEL_MAX>;
qcom,init-voltage-level =
<RPMH_REGULATOR_LEVEL_RETENTION>;
};
VDD_MX_LEVEL_AO: S7E_LEVEL_AO: pmxprairie_s7_level_ao:
regulator-pmxprairie-s7-level-ao {
regulator-name = "pmxprairie_s7_level_ao";
qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
regulator-min-microvolt =
<RPMH_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPMH_REGULATOR_LEVEL_MAX>;
qcom,init-voltage-level =
<RPMH_REGULATOR_LEVEL_RETENTION>;
};
mx_cdev: mx-cdev-lvl {
compatible = "qcom,regulator-cooling-device";
regulator-cdev-supply = <&VDD_MX_LEVEL>;
regulator-levels = <RPMH_REGULATOR_LEVEL_NOM
RPMH_REGULATOR_LEVEL_OFF>;
#cooling-cells = <2>;
};
};
/* PMXPRAIRIE S5 = VDD_CX supply */
rpmh-regulator-cxlvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "cx.lvl";
pmxprairie_s5_level-parent-supply = <&VDD_MX_LEVEL>;
pmxprairie_s5_level_ao-parent-supply = <&VDD_MX_LEVEL_AO>;
VDD_CX_LEVEL: S5E_LEVEL: pmxprairie_s5_level:
regulator-pmxprairie-s5-level {
regulator-name = "pmxprairie_s5_level";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt =
<RPMH_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPMH_REGULATOR_LEVEL_MAX>;
qcom,init-voltage-level =
<RPMH_REGULATOR_LEVEL_RETENTION>;
qcom,min-dropout-voltage-level = <(-1)>;
};
VDD_CX_LEVEL_AO: S5E_LEVEL_AO: pmxprairie_s5_level_ao:
regulator-pmxprairie-s5-level-ao {
regulator-name = "pmxprairie_s5_level_ao";
qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
regulator-min-microvolt =
<RPMH_REGULATOR_LEVEL_RETENTION>;
regulator-max-microvolt =
<RPMH_REGULATOR_LEVEL_MAX>;
qcom,init-voltage-level =
<RPMH_REGULATOR_LEVEL_RETENTION>;
qcom,min-dropout-voltage-level = <(-1)>;
};
cx_cdev: regulator-cdev {
compatible = "qcom,rpmh-reg-cdev";
mboxes = <&qmp_aop 0>;
qcom,reg-resource-name = "cx";
#cooling-cells = <2>;
};
};
rpmh-regulator-ldoe1 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe1";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L1E: pmxprairie_l1: regulator-pmxprairie-l1 {
regulator-name = "pmxprairie_l1";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
qcom,init-voltage = <1200000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe2 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe2";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L2E: pmxprairie_l2: regulator-pmxprairie-l2 {
regulator-name = "pmxprairie_l2";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1128000>;
regulator-max-microvolt = <1128000>;
qcom,init-voltage = <1128000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe3 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe3";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L3E: pmxprairie_l3: regulator-pmxprairie-l3 {
regulator-name = "pmxprairie_l3";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
qcom,init-voltage = <800000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe4 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe4";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L4E: pmxprairie_l4: regulator-pmxprairie-l4 {
regulator-name = "pmxprairie_l4";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <872000>;
regulator-max-microvolt = <872000>;
qcom,init-voltage = <872000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe5 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe5";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 10000>;
L5E: pmxprairie_l5: regulator-pmxprairie-l5 {
regulator-name = "pmxprairie_l5";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1900000>;
qcom,init-voltage = <1704000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe6 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe6";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 10000>;
L6E: pmxprairie_l6: regulator-pmxprairie-l6 {
regulator-name = "pmxprairie_l6";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,init-voltage = <1800000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe7 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe7";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L7E: pmxprairie_l7: regulator-pmxprairie-l7 {
regulator-name = "pmxprairie_l7";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <480000>;
regulator-max-microvolt = <900000>;
qcom,init-voltage = <480000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe8 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe8";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L8E: pmxprairie_l8: regulator-pmxprairie-l8 {
regulator-name = "pmxprairie_l8";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <480000>;
regulator-max-microvolt = <900000>;
qcom,init-voltage = <480000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe9 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe9";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L9E: pmxprairie_l9: regulator-pmxprairie-l9 {
regulator-name = "pmxprairie_l9";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
qcom,init-voltage = <800000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe10 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe10";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 10000>;
L10E: pmxprairie_l10: regulator-pmxprairie-l10 {
regulator-name = "pmxprairie_l10";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <3088000>;
regulator-max-microvolt = <3088000>;
qcom,init-voltage = <3088000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe11 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe11";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 10000>;
L11E: pmxprairie_l11: regulator-pmxprairie-l11 {
regulator-name = "pmxprairie_l11";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <2928000>;
qcom,init-voltage = <1704000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe12 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe12";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L12E: pmxprairie_l12: regulator-pmxprairie-l12 {
regulator-name = "pmxprairie_l12";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
qcom,init-voltage = <1200000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe13 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe13";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 10000>;
L13E: pmxprairie_l13: regulator-pmxprairie-l13 {
regulator-name = "pmxprairie_l13";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <2928000>;
qcom,init-voltage = <1704000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe14 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe14";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L14E: pmxprairie_l14: regulator-pmxprairie-l14 {
regulator-name = "pmxprairie_l14";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <800000>;
qcom,init-voltage = <600000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe15 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe15";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L15E: pmxprairie_l15: regulator-pmxprairie-l15 {
regulator-name = "pmxprairie_l15";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
qcom,init-voltage = <1200000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-ldoe16 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoe16";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 10000>;
L16E: pmxprairie_l16: regulator-pmxprairie-l16 {
regulator-name = "pmxprairie_l16";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <1904000>;
qcom,init-voltage = <1704000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
};
};
rpmh-regulator-vrefe2 {
compatible = "qcom,rpmh-xob-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "vrefe2";
pmxprairie_vref_rgmii: regulator-pmxprairie-rgmii {
regulator-name = "pmxprairie_vref_rgmii";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
};
};
vreg_vddpx_2: vddpx2-gpio-regulator {
compatible = "regulator-gpio";
regulator-name = "vddpx_2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2850000>;
enable-gpio = <&tlmm 98 GPIO_ACTIVE_HIGH>;
gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
states = <1800000 0>,
<2850000 1>;
startup-delay-us = <200000>;
enable-active-high;
};
vreg_sd_vdd: sd-vdd-fixed-regulator {
compatible = "qcom,stub-regulator";
regulator-name = "sd_vdd";
regulator-min-microvolt = <2950000>;
regulator-max-microvolt = <2950000>;
parent-supply = <&vreg_vddpx_2>;
};
vreg_emac_phy: emac_phy_regulator {
compatible = "regulator-fixed";
regulator-name = "emac_phy";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <100>;
gpio = <&tlmm 102 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
vreg_rgmii_io_pads: rgmii_io_pads_regulator {
compatible = "regulator-fixed";
regulator-name = "rgmii_io_pads";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-enable-ramp-delay = <100>;
gpio = <&tlmm 89 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
/* PWR_CTR1_VDD_PA supply */
vreg_conn_pa: vreg_conn_pa {
compatible = "regulator-fixed";
regulator-name = "vreg_conn_pa";
startup-delay-us = <4000>;
enable-active-high;
gpio = <&pmxprairie_gpios 2 GPIO_ACTIVE_HIGH>;
};
/* PWR_CTR2_VDD_1P8 supply */
vreg_conn_1p8: vreg_conn_1p8 {
compatible = "regulator-fixed";
regulator-name = "vreg_conn_1p8";
startup-delay-us = <4000>;
enable-active-high;
gpio = <&pmxprairie_gpios 1 GPIO_ACTIVE_HIGH>;
};
};