pinctrl: Add DT bindings for Cortina Gemini
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 31 Jul 2017 21:30:50 +0000 (23:30 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 14 Aug 2017 13:01:02 +0000 (15:01 +0200)
The Cortina Gemini pin controller uses the standard pin control
bindings for muxing functions with groups so these bindings
should be entirely uncontroversial.

Cc: devicetree@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/cortina,gemini-pinctrl.txt
new file mode 100644 (file)
index 0000000..61466c5
--- /dev/null
@@ -0,0 +1,59 @@
+Cortina Systems Gemini pin controller
+
+This pin controller is found in the Cortina Systems Gemini SoC family,
+see further arm/gemini.txt. It is a purely group-based multiplexing pin
+controller.
+
+The pin controller node must be a subnode of the system controller node.
+
+Required properties:
+- compatible: "cortina,gemini-pinctrl"
+
+Subnodes of the pin controller contain pin control multiplexing set-up.
+Please refer to pinctrl-bindings.txt for generic pin multiplexing nodes.
+
+Example:
+
+
+syscon {
+       compatible = "cortina,gemini-syscon";
+       ...
+       pinctrl {
+               compatible = "cortina,gemini-pinctrl";
+               pinctrl-names = "default";
+               pinctrl-0 = <&dram_default_pins>, <&system_default_pins>,
+                   <&vcontrol_default_pins>;
+
+               dram_default_pins: pinctrl-dram {
+                       mux {
+                               function = "dram";
+                               groups = "dramgrp";
+                       };
+               };
+               rtc_default_pins: pinctrl-rtc {
+                       mux {
+                               function = "rtc";
+                               groups = "rtcgrp";
+                       };
+               };
+               power_default_pins: pinctrl-power {
+                       mux {
+                               function = "power";
+                               groups = "powergrp";
+                       };
+               };
+               system_default_pins: pinctrl-system {
+                       mux {
+                               function = "system";
+                               groups = "systemgrp";
+                       };
+               };
+               (...)
+               uart_default_pins: pinctrl-uart {
+                       mux {
+                               function = "uart";
+                               groups = "uartrxtxgrp";
+                       };
+               };
+       };
+};