mfd: DT bindings for the palmas family MFD
authorJ Keerthy <j-keerthy@ti.com>
Thu, 6 Jun 2013 05:27:21 +0000 (10:57 +0530)
committerGrant Likely <grant.likely@linaro.org>
Wed, 12 Jun 2013 09:28:41 +0000 (10:28 +0100)
Add the various binding files for the palmas family of chips. There is a
top level MFD binding then a seperate binding for regulators IP blocks on chips.

Signed-off-by: Graeme Gregory <gg@slimlogic.co.uk>
Signed-off-by: J Keerthy <j-keerthy@ti.com>
Signed-off-by: Ian Lartey <ian@slimlogic.co.uk>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Grant Likely <grant.likely@linaro.org>
Documentation/devicetree/bindings/mfd/palmas.txt [new file with mode: 0644]
Documentation/devicetree/bindings/regulator/palmas-pmic.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/mfd/palmas.txt b/Documentation/devicetree/bindings/mfd/palmas.txt
new file mode 100644 (file)
index 0000000..892537d
--- /dev/null
@@ -0,0 +1,49 @@
+* palmas device tree bindings
+
+The TI palmas family current members :-
+twl6035 (palmas)
+twl6037 (palmas)
+tps65913 (palmas)
+tps65914 (palmas)
+
+Required properties:
+- compatible : Should be from the list
+  ti,twl6035
+  ti,twl6036
+  ti,twl6037
+  ti,tps65913
+  ti,tps65914
+  ti,tps80036
+and also the generic series names
+  ti,palmas
+- interrupt-controller : palmas has its own internal IRQs
+- #interrupt-cells : should be set to 2 for IRQ number and flags
+  The first cell is the IRQ number.
+  The second cell is the flags, encoded as the trigger masks from
+  Documentation/devicetree/bindings/interrupts.txt
+- interrupt-parent : The parent interrupt controller.
+
+Optional properties:
+  ti,mux-padX : set the pad register X (1-2) to the correct muxing for the
+               hardware, if not set will use muxing in OTP.
+
+Example:
+
+palmas {
+       compatible = "ti,twl6035", "ti,palmas";
+       reg = <0x48>
+       interrupt-parent = <&intc>;
+       interrupt-controller;
+       #interrupt-cells = <2>;
+
+       ti,mux-pad1 = <0>;
+       ti,mux-pad2 = <0>;
+
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       pmic {
+               compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
+               ....
+       };
+}
diff --git a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt
new file mode 100644 (file)
index 0000000..d5a3086
--- /dev/null
@@ -0,0 +1,72 @@
+* palmas regulator IP block devicetree bindings
+
+Required properties:
+- compatible : Should be from the list
+  ti,twl6035-pmic
+  ti,twl6036-pmic
+  ti,twl6037-pmic
+  ti,tps65913-pmic
+  ti,tps65914-pmic
+and also the generic series names
+  ti,palmas-pmic
+- interrupt-parent : The parent interrupt controller which is palmas.
+- interrupts : The interrupt number and the type which can be looked up here:
+              arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
+- interrupts-name: The names of the individual interrupts.
+
+Optional properties:
+- ti,ldo6-vibrator : ldo6 is in vibrator mode
+
+Optional nodes:
+- regulators : Must contain a sub-node per regulator from the list below.
+              Each sub-node should contain the constraints and initialization
+              information for that regulator. See regulator.txt for a
+              description of standard properties for these sub-nodes.
+              Additional custom properties  are listed below.
+
+              For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
+              smps45, smps457, smps7 depending on variant, smps6, smps[8-10],
+              ldo[1-9], ldoln, ldousb.
+
+              Optional sub-node properties:
+              ti,warm-reset - maintain voltage during warm reset(boolean)
+              ti,roof-floor - control voltage selection by pin(boolean)
+              ti,sleep-mode - mode to adopt in pmic sleep 0 - off, 1 - auto,
+              2 - eco, 3 - forced pwm
+              ti,tstep - slope control 0 - Jump, 1 10mV/us, 2 5mV/us, 3 2.5mV/us
+              ti,smps-range - OTP has the wrong range set for the hardware so override
+              0 - low range, 1 - high range.
+
+Example:
+
+#include <dt-bindings/interrupt-controller/irq.h>
+
+pmic {
+       compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
+       interrupt-parent = <&palmas>;
+       interrupts = <14 IRQ_TYPE_NONE>;
+       interrupts-name = "short-irq";
+
+       ti,ldo6-vibrator;
+
+       regulators {
+               smps12_reg : smps12 {
+                       regulator-name = "smps12";
+                       regulator-min-microvolt = < 600000>;
+                       regulator-max-microvolt = <1500000>;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       ti,warm-reset;
+                       ti,roof-floor;
+                       ti,mode-sleep = <0>;
+                       ti,tstep = <0>;
+                       ti,smps-range = <1>;
+               };
+
+               ldo1_reg: ldo1 {
+                       regulator-name = "ldo1";
+                       regulator-min-microvolt = <2800000>;
+                       regulator-max-microvolt = <2800000>;
+               };
+       };
+};