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

Commit eec3ebab authored by Ashay Jaiswal's avatar Ashay Jaiswal
Browse files

ARM: dts: msm: add support for PM8008



PM8008 is a I2C based regulator PMIC supporting 7 LDOs, add
corresponding PM8008 peripheral devices and regulator nodes.

Change-Id: Ib32e8e9028ac5d08570670940bf3b9f300c1c67a
Signed-off-by: default avatarAshay Jaiswal <ashayj@codeaurora.org>
parent 4490d6a3
Loading
Loading
Loading
Loading
+108 −0
Original line number Diff line number Diff line
/* Copyright (c) 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/interrupt-controller/irq.h>

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

	pm8008_chip: qcom,pm8008-chip@900 {
		compatible = "qcom,pm8008-chip";
		reg = <0x900>;
		PM8008_EN: qcom,pm8008-chip-en {
			regulator-name = "pm8008-chip-en";
		};
	};

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

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

	pm8008_regulators: qcom,pm8008-regulator {
		compatible = "qcom,pm8008-regulator";
		pm8008_en-supply = <&PM8008_EN>;
		L1P: qcom,pm8008-l1@4000 {
			reg = /bits/ 16 <0x4000>;
			regulator-name = "pm8008_l1";
			regulator-min-microvolt = <528000>;
			regulator-max-microvolt = <1504000>;
			qcom,min-dropout-voltage = <225000>;
			qcom,hpm-min-load = <10000>;
		};

		L2P: qcom,pm8008-l2@4100 {
			reg = /bits/ 16 <0x4100>;
			regulator-name = "pm8008_l2";
			regulator-min-microvolt = <528000>;
			regulator-max-microvolt = <1504000>;
			qcom,init-voltage = <1500000>;
			qcom,min-dropout-voltage = <225000>;
			qcom,hpm-min-load = <10000>;
		};

		L3P: qcom,pm8008-l3@4200 {
			reg = /bits/ 16 <0x4200>;
			regulator-name = "pm8008_l3";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <3400000>;
			qcom,min-dropout-voltage = <200000>;
			qcom,hpm-min-load = <10000>;
		};

		L4P: qcom,pm8008-l4@4300 {
			reg = /bits/ 16 <0x4300>;
			regulator-name = "pm8008_l4";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <3400000>;
			qcom,min-dropout-voltage = <200000>;
			qcom,hpm-min-load = <10000>;
		};

		L5P: qcom,pm8008-l5@4400 {
			reg = /bits/ 16 <0x4400>;
			regulator-name = "pm8008_l5";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <3400000>;
			qcom,min-dropout-voltage = <300000>;
			qcom,hpm-min-load = <10000>;
		};

		L6P: qcom,pm8008-l6@4400 {
			reg = /bits/ 16 <0x4500>;
			regulator-name = "pm8008_l6";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <3400000>;
			qcom,min-dropout-voltage = <300000>;
			qcom,hpm-min-load = <10000>;
		};

		L7P: qcom,pm8008-l7@4400 {
			reg = /bits/ 16 <0x4600>;
			regulator-name = "pm8008_l7";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <3400000>;
			qcom,min-dropout-voltage = <300000>;
			qcom,hpm-min-load = <10000>;
		};
	};
};
+65 −0
Original line number Diff line number Diff line
@@ -2177,3 +2177,68 @@
};

#include "trinket-thermal.dtsi"

&qupv3_se1_i2c {
	status="ok";
	#include "pm8008.dtsi"
};

&tlmm {
	pm8008_active: pm8008_active {
		mux {
			pins = "gpio49";
			function = "gpio";
		};

		config {
			pins = "gpio49";
			bias-pull-up;
			output-high;
			drive-strength = <2>;
		};
	};
};

&pm8008_chip {
	pinctrl-names = "default";
	pinctrl-0 = <&pm8008_active>;
};

&pm8008_regulators {
	vdd_l1_l2-supply = <&S6A>;
};

&L1P {
	regulator-min-microvolt = <1200000>;
	regulator-max-microvolt = <1200000>;
};

&L2P {
	regulator-min-microvolt = <1104000>;
	regulator-max-microvolt = <1104000>;
};

&L3P {
	regulator-min-microvolt = <2800000>;
	regulator-max-microvolt = <2800000>;
};

&L4P {
	regulator-min-microvolt = <2800000>;
	regulator-max-microvolt = <2800000>;
};

&L5P {
	regulator-min-microvolt = <2800000>;
	regulator-max-microvolt = <2800000>;
};

&L6P {
	regulator-min-microvolt = <3000000>;
	regulator-max-microvolt = <3000000>;
};

&L7P {
	regulator-min-microvolt = <3000000>;
	regulator-max-microvolt = <3000000>;
};