diff mbox

[3/7] doc:bindings:Document for hi655x pmic driver

Message ID 1446730488-31930-4-git-send-email-puck.chen@hisilicon.com
State New
Headers show

Commit Message

Chen Feng Nov. 5, 2015, 1:34 p.m. UTC
Add Document for hi655x pmic driver

Signed-off-by: Chen Feng <puck.chen@hisilicon.com>

Signed-off-by: Fei Wang <w.f@huawei.com>

---
 .../regulator/hisilicon,hi655x-regulator.txt       | 50 ++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/regulator/hisilicon,hi655x-regulator.txt

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Mark Brown Nov. 5, 2015, 2:23 p.m. UTC | #1
On Thu, Nov 05, 2015 at 09:34:44PM +0800, Chen Feng wrote:

> +Required properties:

> +- compatible: Must be "hisilicon,hi655x-regulator-pmic";


If this is a subfunction of a MFD it shouldn't have a compatible string.
If it is instead a standalone device it should just have a name in the
form "vendor,chip" without any random suffixes.

> +- regulator-name: Regulator name in SoC.

> +- regulator-min-microvolt: Smallest voltage support.

> +- regulator-max-microvolt: Largest voltages support.


These should *never* be mandatory properties and the generic regulator
bindings should be reference rather than copied into the binding for a
specific device, that way the standard definitions for things are always
used and people know about any other properties that are available as
standard.

> +- regulator-off-on-delay: The time wait for power steady

> +- regulator-ctrl-regs: Registers offset of control register.

> +  In turn with enable disable and status register offset.

> +- regulator-ctrl-mask: The control mask of the register.

> +- regulator-vset-regs: Voltage set register offset.

> +- regulator-vset-mask: voltage set control mask.

> +- regulator-n-vol: The num of support voltages.

> +- regulator-vset-table: The table of support voltages.


Why is this in the binding?  This is a binding for a specific device,
there is no point in putting all these data tables in the DT - it just
bloats the DT and makes it harder for us to enhance our support for this
device in the future.  Just 

> +

> +Example:

> +        pmic: pmic@f8000000 {

> +                compatible = "hisilicon,hi655x-pmic-driver";

> +		...

> +                ldo2: regulator@a21 {

> +                        compatible = "hisilicon,hi655x-regulator-pmic";

> +                        regulator-name = "ldo2";

> +                        regulator-min-microvolt = <2500000>;

> +                        regulator-max-microvolt = <3200000>;

> +                        regulator-valid-modes-mask = <0x02>;

> +                        regulator-initial-mode = <0x02>;

> +                        regulator-off-on-delay = <120>;

> +                        regulator-ctrl-regs = <0x029 0x02a 0x02b>;

> +                        regulator-ctrl-mask = <0x1>;

> +                        regulator-vset-regs = <0x072>;

> +                        regulator-vset-mask = <0x3>;

> +                        regulator-n-vol = <8>;

> +                        regulator-vset-table  = <2500000>,<2600000>,

> +                                                <2700000>,<2800000>,

> +                                                <2900000>,<3000000>,

> +                                                <3100000>,<3200000>;

> +                };

> +		...

> +	}

> -- 

> 1.9.1

> 

>
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/regulator/hisilicon,hi655x-regulator.txt b/Documentation/devicetree/bindings/regulator/hisilicon,hi655x-regulator.txt
new file mode 100644
index 0000000..66c6a73
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/hisilicon,hi655x-regulator.txt
@@ -0,0 +1,50 @@ 
+Hisilicon Hi655x Voltage regulators
+
+Note:
+The hi655x regulator control is managed by hi655x Power IC.
+So the node of this regulator must be child node of hi655x
+pmic node.
+
+The driver uses the regulator core framework, so please also
+take the bindings of regulator.txt for reference.
+
+Required properties:
+- compatible: Must be "hisilicon,hi655x-regulator-pmic";
+- regulator-name: Regulator name in SoC.
+- regulator-min-microvolt: Smallest voltage support.
+- regulator-max-microvolt: Largest voltages support.
+- regulator-initial-mode: Init mode of this regulator.
+- regulator-valid-modes-mask: Valid support mode mask.
+- regulator-off-on-delay: The time wait for power steady
+- regulator-ctrl-regs: Registers offset of control register.
+  In turn with enable disable and status register offset.
+- regulator-ctrl-mask: The control mask of the register.
+- regulator-vset-regs: Voltage set register offset.
+- regulator-vset-mask: voltage set control mask.
+- regulator-n-vol: The num of support voltages.
+- regulator-vset-table: The table of support voltages.
+
+Example:
+        pmic: pmic@f8000000 {
+                compatible = "hisilicon,hi655x-pmic-driver";
+		...
+                ldo2: regulator@a21 {
+                        compatible = "hisilicon,hi655x-regulator-pmic";
+                        regulator-name = "ldo2";
+                        regulator-min-microvolt = <2500000>;
+                        regulator-max-microvolt = <3200000>;
+                        regulator-valid-modes-mask = <0x02>;
+                        regulator-initial-mode = <0x02>;
+                        regulator-off-on-delay = <120>;
+                        regulator-ctrl-regs = <0x029 0x02a 0x02b>;
+                        regulator-ctrl-mask = <0x1>;
+                        regulator-vset-regs = <0x072>;
+                        regulator-vset-mask = <0x3>;
+                        regulator-n-vol = <8>;
+                        regulator-vset-table  = <2500000>,<2600000>,
+                                                <2700000>,<2800000>,
+                                                <2900000>,<3000000>,
+                                                <3100000>,<3200000>;
+                };
+		...
+	}