Loading Documentation/devicetree/bindings/regulator/qpnp-amoled-regulator.txt 0 → 100644 +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; }; }; arch/arm64/boot/dts/qcom/pm8150l.dtsi +32 −0 Original line number Diff line number Diff line Loading @@ -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; }; }; }; }; Loading arch/arm64/boot/dts/qcom/sm8150-qrd.dtsi +4 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,10 @@ qcom,fg-esr-cal-temp-thresh = <10 40>; }; &pm8150a_amoled { status = "ok"; }; &soc { gpio_keys { compatible = "gpio-keys"; Loading arch/arm64/configs/vendor/sm8150-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading arch/arm64/configs/vendor/sm8150_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
Documentation/devicetree/bindings/regulator/qpnp-amoled-regulator.txt 0 → 100644 +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; }; };
arch/arm64/boot/dts/qcom/pm8150l.dtsi +32 −0 Original line number Diff line number Diff line Loading @@ -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; }; }; }; }; Loading
arch/arm64/boot/dts/qcom/sm8150-qrd.dtsi +4 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,10 @@ qcom,fg-esr-cal-temp-thresh = <10 40>; }; &pm8150a_amoled { status = "ok"; }; &soc { gpio_keys { compatible = "gpio-keys"; Loading
arch/arm64/configs/vendor/sm8150-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
arch/arm64/configs/vendor/sm8150_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -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