Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c00540a3 authored by Jishnu Prakash's avatar Jishnu Prakash
Browse files

ARM: dts: msm: Add PM8008 support for yupik

Add support for managing the PM8008I and PM8008J chips via I2C.
This ensures that consumers are able to modify the physical state
of these PMIC regulators.

Change-Id: I390c8d41f950148e4532e614f0ddcf98effebb22
parent 97a2ef3a
Loading
Loading
Loading
Loading
+232 −0
Original line number Diff line number Diff line
@@ -18,6 +18,28 @@
	};
};

&pm8350c_gpios {
	pm8008i_reset {
		pm8008i_active: pm8008i_active {
			pins = "gpio3";
			function = "normal";
			bias-disable;
			output-high;
			power-source = <1>;
		};
	};

	pm8008j_reset {
		pm8008j_active: pm8008j_active {
			pins = "gpio4";
			function = "normal";
			bias-disable;
			output-high;
			power-source = <1>;
		};
	};
};

&pmk8350_vadc {
	/delete-node/ pm8350_ref_gnd;
	/delete-node/ pm8350_vref_1p25;
@@ -207,6 +229,216 @@
	};
};

&qupv3_se1_i2c {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "ok";

	pm8008i_chip: pm8008i@8 {
		compatible = "qcom,i2c-pmic";
		reg = <0x8>;
		#address-cells = <1>;
		#size-cells = <0>;

		pinctrl-names = "default";
		pinctrl-0 = <&pm8008i_active>;

		pm8008-chip@900 {
			compatible = "qcom,pm8008-chip";
			reg = <0x900>;

			PM8008I_EN: qcom,pm8008-chip-en {
				regulator-name = "pm8008i-chip-en";
			};
		};

		qcom,revid@100 {
			compatible = "qcom,qpnp-revid";
			reg = <0x100>;
		};
	};

	pm8008i_ldo: pm8008i@9 {
		compatible = "qcom,i2c-pmic";
		reg = <0x9>;
		#address-cells = <1>;
		#size-cells = <0>;

		qcom,pm8008i-regulator {
			compatible = "qcom,pm8008-regulator";
			#address-cells = <1>;
			#size-cells = <0>;

			pm8008_en-supply = <&PM8008I_EN>;
			vdd_l1_l2-supply = <&S8B>;
			vdd_l3_l4-supply = <&BOB>;
			vdd_l5-supply = <&S1B>;
			vdd_l6-supply = <&BOB>;
			vdd_l7-supply = <&BOB>;

			L1I: pm8008i_l1: regulator@4000 {
				reg = <0x4000>;
				regulator-name = "pm8008i_l1";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1200000>;
				qcom,min-dropout-voltage = <160000>;
				qcom,hpm-min-load = <30000>;
			};

			L2I: pm8008i_l2: regulator@4100 {
				reg = <0x4100>;
				regulator-name = "pm8008i_l2";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1150000>;
				qcom,min-dropout-voltage = <128000>;
				qcom,hpm-min-load = <30000>;
			};

			L3I: pm8008i_l3: regulator@4200 {
				reg = <0x4200>;
				regulator-name = "pm8008i_l3";
				regulator-min-microvolt = <2700000>;
				regulator-max-microvolt = <3000000>;
				qcom,min-dropout-voltage = <144000>;
			};

			L4I: pm8008i_l4: regulator@4300 {
				reg = <0x4300>;
				regulator-name = "pm8008i_l4";
				regulator-min-microvolt = <2700000>;
				regulator-max-microvolt = <2900000>;
				qcom,min-dropout-voltage = <128000>;
			};

			L5I: pm8008i_l5: regulator@4400 {
				reg = <0x4400>;
				regulator-name = "pm8008i_l5";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				qcom,min-dropout-voltage = <136000>;
			};

			L6I: pm8008i_l6: regulator@4500 {
				reg = <0x4500>;
				regulator-name = "pm8008i_l6";
				regulator-min-microvolt = <2700000>;
				regulator-max-microvolt = <2900000>;
				qcom,min-dropout-voltage = <128000>;
			};

			L7I: pm8008i_l7: regulator@4600 {
				reg = <0x4600>;
				regulator-name = "pm8008i_l7";
				regulator-min-microvolt = <2700000>;
				regulator-max-microvolt = <3000000>;
				qcom,min-dropout-voltage = <312000>;
			};
		};
	};

	pm8008j_chip: pm8008j@c {
		compatible = "qcom,i2c-pmic";
		reg = <0xc>;
		#address-cells = <1>;
		#size-cells = <0>;

		pinctrl-names = "default";
		pinctrl-0 = <&pm8008j_active>;

		pm8008-chip@900 {
			compatible = "qcom,pm8008-chip";
			reg = <0x900>;

			PM8008J_EN: qcom,pm8008-chip-en {
				regulator-name = "pm8008j-chip-en";
			};
		};

		qcom,revid@100 {
			compatible = "qcom,qpnp-revid";
			reg = <0x100>;
		};
	};

	pm8008j_ldo: pm8008j@d {
		compatible = "qcom,i2c-pmic";
		reg = <0xd>;
		#address-cells = <1>;
		#size-cells = <0>;

		qcom,pm8008j-regulator {
			compatible = "qcom,pm8008-regulator";
			#address-cells = <1>;
			#size-cells = <0>;

			pm8008_en-supply = <&PM8008J_EN>;
			vdd_l1_l2-supply = <&S8B>;
			vdd_l3_l4-supply = <&S1B>;
			vdd_l5-supply = <&BOB>;
			vdd_l6-supply = <&BOB>;
			vdd_l7-supply = <&BOB>;

			L1J: pm8008j_l1: regulator@4000 {
				reg = <0x4000>;
				regulator-name = "pm8008j_l1";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1150000>;
				qcom,min-dropout-voltage = <96000>;
				qcom,hpm-min-load = <30000>;
			};

			L2J: pm8008j_l2: regulator@4100 {
				reg = <0x4100>;
				regulator-name = "pm8008j_l2";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1250000>;
				qcom,min-dropout-voltage = <24000>;
				qcom,hpm-min-load = <30000>;
			};

			L3J: pm8008j_l3: regulator@4200 {
				reg = <0x4200>;
				regulator-name = "pm8008j_l3";
				regulator-min-microvolt = <1460000>;
				regulator-max-microvolt = <1800000>;
				qcom,min-dropout-voltage = <224000>;
			};

			L4J: pm8008j_l4: regulator@4300 {
				reg = <0x4300>;
				regulator-name = "pm8008j_l4";
				regulator-min-microvolt = <1504000>;
				regulator-max-microvolt = <1600000>;
				qcom,min-dropout-voltage = <0>;
			};

			L5J: pm8008j_l5: regulator@4400 {
				reg = <0x4400>;
				regulator-name = "pm8008j_l5";
				regulator-min-microvolt = <2700000>;
				regulator-max-microvolt = <2900000>;
				qcom,min-dropout-voltage = <104000>;
			};

			L6J: pm8008j_l6: regulator@4500 {
				reg = <0x4500>;
				regulator-name = "pm8008j_l6";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				qcom,min-dropout-voltage = <112000>;
			};

			L7J: pm8008j_l7: regulator@4600 {
				reg = <0x4600>;
				regulator-name = "pm8008j_l7";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3544000>;
				qcom,min-dropout-voltage = <96000>;
			};
		};
	};
};

&pm7325_tz {
	io-channels = <&pmk8350_vadc PM7325_ADC7_DIE_TEMP>;
	io-channel-names = "thermal";