linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 1/2] dt-bindings: add mmio-based syscon mux controller DT bindings
@ 2017-04-13 15:48 Philipp Zabel
  2017-04-13 15:48 ` [RFC 2/2] mux: mmio-based syscon mux controller Philipp Zabel
                   ` (3 more replies)
  0 siblings, 4 replies; 26+ messages in thread
From: Philipp Zabel @ 2017-04-13 15:48 UTC (permalink / raw)
  To: Peter Rosin
  Cc: Rob Herring, Mark Rutland, Sakari Ailus, Steve Longerbeam,
	devicetree, linux-kernel, kernel, Philipp Zabel

This adds device tree binding documentation for mmio-based syscon
multiplexers controlled by a single bitfield in a syscon register
range.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
 Documentation/devicetree/bindings/mux/mmio-mux.txt | 56 ++++++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mux/mmio-mux.txt

diff --git a/Documentation/devicetree/bindings/mux/mmio-mux.txt b/Documentation/devicetree/bindings/mux/mmio-mux.txt
new file mode 100644
index 0000000000000..11d96f5d98583
--- /dev/null
+++ b/Documentation/devicetree/bindings/mux/mmio-mux.txt
@@ -0,0 +1,56 @@
+MMIO bitfield-based multiplexer controller bindings
+
+Define a syscon bitfield to be used to control a multiplexer. The parent
+device tree node must be a syscon node to provide register access.
+
+Required properties:
+- compatible : "gpio-mux"
+- reg : register base of the register containing the control bitfield
+- bit-mask : bitmask of the control bitfield in the control register
+- bit-shift : bit offset of the control bitfield in the control register
+- #mux-control-cells : <0>
+* Standard mux-controller bindings as decribed in mux-controller.txt
+
+Optional properties:
+- idle-state : if present, the state the mux will have when idle. The
+	       special state MUX_IDLE_AS_IS is the default.
+
+The multiplexer state is defined as the value of the bitfield described
+by the reg, bit-mask, and bit-shift properties, accessed through the parent
+syscon.
+
+Example:
+
+	syscon {
+		compatible = "syscon";
+
+		mux: mux-controller@3 {
+			compatible = "mmio-mux";
+			reg = <0x3>;
+			bit-mask = <0x1>;
+			bit-shift = <5>;
+			#mux-control-cells = <0>;
+		};
+	};
+
+	video-mux {
+		compatible = "video-mux";
+		mux-controls = <&mux>;
+
+		ports {
+			/* input 0 */
+			port@0 {
+				reg = <0>;
+			};
+
+			/* input 1 */
+			port@1 {
+				reg = <1>;
+			};
+
+			/* output */
+			port@2 {
+				reg = <2>;
+			};
+		};
+	};
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2017-04-20 15:02 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13 15:48 [RFC 1/2] dt-bindings: add mmio-based syscon mux controller DT bindings Philipp Zabel
2017-04-13 15:48 ` [RFC 2/2] mux: mmio-based syscon mux controller Philipp Zabel
2017-04-14  1:09   ` Steve Longerbeam
2017-04-19 11:50     ` Philipp Zabel
2017-04-19 11:58       ` Peter Rosin
2017-04-19 15:27         ` Philipp Zabel
2017-04-19 16:23           ` Steve Longerbeam
2017-04-19 16:32             ` Philipp Zabel
2017-04-19 16:42               ` Peter Rosin
2017-04-14  1:03 ` [RFC 1/2] dt-bindings: add mmio-based syscon mux controller DT bindings Steve Longerbeam
2017-04-19 11:47   ` Philipp Zabel
2017-04-18  8:19 ` Philipp Zabel
2017-04-18 10:08   ` Sakari Ailus
2017-04-18 10:34     ` Pavel Machek
2017-04-18 10:55       ` Sakari Ailus
2017-04-18 11:51         ` Pavel Machek
2017-04-18 10:51     ` Philipp Zabel
2017-04-19 22:09 ` Rob Herring
2017-04-20  8:14   ` Philipp Zabel
2017-04-20 11:57     ` Peter Rosin
2017-04-20 13:03       ` Philipp Zabel
2017-04-20 13:39     ` Rob Herring
2017-04-20 13:32   ` Peter Rosin
2017-04-20 14:13     ` Peter Rosin
2017-04-20 14:50       ` Philipp Zabel
2017-04-20 15:01         ` Peter Rosin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).