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

Commit d8db64f9 authored by David Collins's avatar David Collins
Browse files

dt-bindings: regulator: add PMIC PM8008 regulator bindings

Add PMIC PM8008 regulator device bindings.  PM8008 chips contain
7 LDO regulators along with a top-level chip sleep feature.

Change-Id: If36c21dbf382b2bc460e712b0098f67d569004ca
parent abc70f25
Loading
Loading
Loading
Loading
+124 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. PM8008 Regulator

PM8008 is an I2C based PMIC regulator chip.

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

==============================================
PM8008 chip specific device
==============================================
PM8008 chip specific properties:

- compatible:
  Usage: required
  Value type: <string>
  Definition: must be "qcom,pm8008-chip"

- pinctrl-names:
  Usage: required
  Value type: <string>
  Definition: must be "default"

- pinctrl-0:
  Usage: required
  Value type: <phandle>
  Definition: pinctrol handle for chip enable GPIO.

- regulator sub-node:
  Usage: required
  Value type: <child sub node>
  Definition: Chip enable regulator device to control chip enable
		functionality. Must be "qcom,pm8008-chip-en".
Example:
	qcom,pm8008-chip@900 {
		compatible = "qcom,pm8008-chip";
		pinctrl-names = "default";
		pinctrl-0 = <&pincontrol handle>; // chip enable GPIO

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


========================================================
PM8008 regulator device
========================================================
PM8008 chip regulator specific properties:

- compatible:
  Usage: required
  Value type: <string>
  Definition: must be "qcom,pm8008-regulator"

- <pin>-supply:
  Usage: optional
  Value type: <phandle>
  Definition: Reference to parent regulator supplying the input pin, as
		described in the data sheet.
		Must be one of the following:
		vdd_l1_l2-supply: supply for LDO1/LDO2 of PM8008
		vdd_l3_l4-supply: supply for LDO3/LDO4 of PM8008
		vdd_l5-supply: supply for LDO5 of PM8008
		vdd_l6-supply: supply for LDO6 of PM8008
		vdd_l7-supply: supply for LDO7 of PM8008

- pm8008_en-supply:
  Usage: required
  Value type: <phandle>
  Definition: Reference to PM8008 chip enable regulator, which manages
		chip enable functionlity of PM8008.

============================================================================
Second Level Nodes - PM8008 regulator peripherals of PM8008 regulator device
============================================================================

- qcom,hpm-min-load:
  Usage: optional
  Value type: <u32>
  Definition: Load current in uA which corresponds to the minimum load
		which requires the regulator to be in high power mode.

- qcom,min-dropout-voltage:
  Usage: optional
  Value type: <u32>
  Definition: Specifies the minimum voltage in microvolts that the parent
		supply regulator must output above the output of this
		regulator.  It is only meaningful if the corresponding parent
		supply property has been specified in the first level node.

- qcom,init-voltage
  Usage:      optional
  Value type: <u32>
  Definition: Specifies the initial voltage in microvolts to for a regulator.

- qcom,strong-pd
  Usage:      optional
  Value type: <bool>
  Definition: Property if present enables strong pull-down.

The content of each sub-node is defined by the standard binding for regulators -
see regulator.txt - with additional custom properties described below:

Example:

	qcom,pm8008-regulator {
		compatible = "qcom,pm8008-regulator";

		pm8008_en-supply = <&PM8008_EN>;
		vdd_l1_l2-supply = <&parent-supply>;
		...

		L1: qcom,pm8008-l1@4000 {
			reg = /bits/ 16 <0x4000>;
			regulator-name = "pm8008_l1";
			regulator-min-microvolt = <2900000>;
			regulator-max-microvolt = <3100000>;
			qcom,min-dropout-voltage = <100000>;
			qcom,hpm-min-load = <10000>;
		}

		.....
	};