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

Commit c62307b2 authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Specify AMOLED regulator device for SM8150 QRD"

parents 33219f0c caee06cc
Loading
Loading
Loading
Loading
+95 −0
Original line number Diff line number Diff line
QPNP AMOLED Triple power supply regulator devices

QPNP OLEDB module provides AVDD voltage rail output for bias and QPNP AB/IBB
module provides ELVDD/ELVSS voltage rail output to power up AMOLED panels.

For PM8150A, allowed voltage levels are as below:
AVDD - Programmable output from 4.925 V to 8.1 V.
ELVDD  - Programmable output from 4.6 V to 6.1 V.
ELVSS  - Programmable output from -0.8 V to -5.4 V.


This document describes the bindings for AMOLED regulator devices.

=======================
Required Node Structure
=======================

AMOLED regulator device must be described in two level of device nodes.

- compatible:
	Usage:      required
	Value type: <string>
	Definition: should be "qcom,qpnp-amoled-regulator"

==========================================
Second Level Nodes - OLEDB/AB/IBB specific
==========================================

Subnode common properties for OLEDB and AB/IBB regulator devices.

- reg:
	Usage:      required
	Value type: <prop-encoded-array>
	Definition: Register base and length for OLEDB, AB and IBB modules
		    which are represented as child nodes.

- reg-names:
	Usage:      required
	Value type: <string>
	Definition: The name of the register defined in the reg property.

- regulator-name:
	Usage:      required
	Value type: <string>
	Definition: A string used to describe the regulator.

- regulator-min-microvolt:
	Usage:      required
	Value type: <u32>
	Definition: Minimum voltage (in uV) supported by the regulator.

- regulator-max-microvolt:
	Usage:      required
	Value type: <u32>
	Definition: Maximum voltage (in uV) supported by the regulator.

- qcom,swire-control:
	Usage:	    optional
	Value type: <empty>
	Definition: A boolean property to specify that the regulator output is
		    controlled by SWIRE signal. When this is specified, output
		    voltage of the regulator is not controlled by SW.

Example:

pm8150a_amoled: oledb@e000 {
	compatible = "qcom,qpnp-amoled-regulator";

	oledb_vreg: oledb@e000 {
		reg = <0xe000 0x100>;
		reg-names = "oledb_base";
		regulator-name = "oledb_vreg";
		regulator-min-microvolt = <4925000>;
		regulator-max-microvolt = <8100000>;
		qcom,swire-control;
	};

	ab_vreg: ab@de00 {
		reg = <0xde00 0x100>;
		reg-names = "ab_base";
		regulator-name = "ab_vreg";
		regulator-min-microvolt = <4600000>;
		regulator-max-microvolt = <6100000>;
		qcom,swire-control;
	};

	ibb_vreg: ibb@dc00 {
		reg = <0xdc00 0x100>;
		reg-names = "ibb_base";
		regulator-name = "ibb_vreg";
		regulator-min-microvolt = <800000>;
		regulator-max-microvolt = <5400000>;
		qcom,swire-control;
	};
};
+32 −0
Original line number Diff line number Diff line
@@ -387,6 +387,38 @@
				linux,default-trigger = "timer";
			};
		};

		pm8150a_amoled: qcom,amoled {
			compatible = "qcom,qpnp-amoled-regulator";
			status = "disabled";

			oledb_vreg: oledb@e000 {
				reg = <0xe000 0x100>;
				reg-names = "oledb_base";
				regulator-name = "oledb";
				regulator-min-microvolt = <4925000>;
				regulator-max-microvolt = <8100000>;
				qcom,swire-control;
			};

			ab_vreg: ab@de00 {
				reg = <0xde00 0x100>;
				reg-names = "ab_base";
				regulator-name = "ab";
				regulator-min-microvolt = <4600000>;
				regulator-max-microvolt = <6100000>;
				qcom,swire-control;
			};

			ibb_vreg: ibb@dc00 {
				reg = <0xdc00 0x100>;
				reg-names = "ibb_base";
				regulator-name = "ibb";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <5400000>;
				qcom,swire-control;
			};
		};
	};
};

+4 −0
Original line number Diff line number Diff line
@@ -59,6 +59,10 @@
	qcom,fg-esr-cal-temp-thresh = <10 40>;
};

&pm8150a_amoled {
	status = "ok";
};

&soc {
	gpio_keys {
		compatible = "gpio-keys";
+1 −0
Original line number Diff line number Diff line
@@ -377,6 +377,7 @@ CONFIG_MFD_I2C_PMIC=y
CONFIG_MFD_SPMI_PMIC=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_PROXY_CONSUMER=y
CONFIG_REGULATOR_QPNP_AMOLED=y
CONFIG_REGULATOR_QPNP_LCDB=y
CONFIG_REGULATOR_REFGEN=y
CONFIG_REGULATOR_RPMH=y
+1 −0
Original line number Diff line number Diff line
@@ -392,6 +392,7 @@ CONFIG_MFD_I2C_PMIC=y
CONFIG_MFD_SPMI_PMIC=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_PROXY_CONSUMER=y
CONFIG_REGULATOR_QPNP_AMOLED=y
CONFIG_REGULATOR_QPNP_LCDB=y
CONFIG_REGULATOR_REFGEN=y
CONFIG_REGULATOR_RPMH=y
Loading