devicetree: bindings: pinctrl: Add binding for ti,da850-pupd
authorDavid Lechner <david@lechnology.com>
Mon, 28 Nov 2016 16:40:24 +0000 (10:40 -0600)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 7 Dec 2016 14:27:00 +0000 (15:27 +0100)
Device-tree bindings for TI DA850/OMAP-L138/AM18XX pullup/pulldown
pinconf controller.

Signed-off-by: David Lechner <david@lechnology.com>
Reviewed-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt b/Documentation/devicetree/bindings/pinctrl/ti,da850-pupd.txt
new file mode 100644 (file)
index 0000000..7f29805
--- /dev/null
@@ -0,0 +1,55 @@
+* Pin configuration for TI DA850/OMAP-L138/AM18x
+
+These SoCs have a separate controller for setting bias (internal pullup/down).
+Bias can only be selected for groups rather than individual pins.
+
+Required Properties:
+
+  - compatible: Must be "ti,da850-pupd"
+  - reg: Base address and length of the memory resource used by the pullup/down
+    controller hardware module.
+
+The controller node also acts as a container for pin group configuration nodes.
+The names of these groups are ignored.
+
+Pin Group Node Properties:
+
+- groups: An array of strings, each string containing the name of a pin group.
+          Valid names are "cp0".."cp31".
+
+The pin configuration parameters use the generic pinconf bindings defined in
+pinctrl-bindings.txt in this directory. The supported parameters are
+bias-disable, bias-pull-up, bias-pull-down.
+
+
+Example
+-------
+
+In common dtsi file:
+
+       pinconf: pin-controller@22c00c {
+               compatible = "ti,da850-pupd";
+               reg = <0x22c00c 0x8>;
+       };
+
+In board-specific file:
+
+       &pinconf {
+               pinctrl-0 = <&pinconf_bias_groups>;
+               pinctrl-names = "default";
+
+               pinconf_bias_groups: bias-groups {
+                       pull-up {
+                               groups = "cp30", "cp31";
+                               bias-pull-up;
+                       };
+                       pull-down {
+                               groups = "cp29", "cp28";
+                               bias-pull-down;
+                       };
+                       disable {
+                               groups = "cp27", "cp26";
+                               bias-disable;
+                       };
+               };
+       };