dt-bindings: pinctrl: Add bindings for Microsemi Ocelot
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Fri, 8 Dec 2017 15:46:09 +0000 (16:46 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 13 Dec 2017 07:38:34 +0000 (08:38 +0100)
Add the documentation for the Microsemi Ocelot pinmuxing and gpio
controller.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt
new file mode 100644 (file)
index 0000000..24a210e
--- /dev/null
@@ -0,0 +1,39 @@
+Microsemi Ocelot pin controller Device Tree Bindings
+----------------------------------------------------
+
+Required properties:
+ - compatible          : Should be "mscc,ocelot-pinctrl"
+ - reg                 : Address and length of the register set for the device
+ - gpio-controller     : Indicates this device is a GPIO controller
+ - #gpio-cells         : Must be 2.
+                         The first cell is the pin number and the
+                         second cell specifies GPIO flags, as defined in
+                         <dt-bindings/gpio/gpio.h>.
+ - gpio-ranges         : Range of pins managed by the GPIO controller.
+
+
+The ocelot-pinctrl driver uses the generic pin multiplexing and generic pin
+configuration documented in pinctrl-bindings.txt.
+
+The following generic properties are supported:
+ - function
+ - pins
+
+Example:
+       gpio: pinctrl@71070034 {
+               compatible = "mscc,ocelot-pinctrl";
+               reg = <0x71070034 0x28>;
+               gpio-controller;
+               #gpio-cells = <2>;
+               gpio-ranges = <&gpio 0 0 22>;
+
+               uart_pins: uart-pins {
+                               pins = "GPIO_6", "GPIO_7";
+                               function = "uart";
+               };
+
+               uart2_pins: uart2-pins {
+                               pins = "GPIO_12", "GPIO_13";
+                               function = "uart2";
+               };
+       };