devicetree.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-18  8:19 ` Philipp Zabel
       [not found] ` <20170413154812.19597-1-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
  0 siblings, 2 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:01 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-18  8:19 ` Philipp Zabel
     [not found]   ` <1492503544.2432.32.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-04-18 10:08     ` Sakari Ailus
     [not found]       ` <20170418100840.GF7456-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-04-18 10:34         ` Pavel Machek
2017-04-18 10:55           ` Sakari Ailus
     [not found]             ` <20170418105540.GH7456-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2017-04-18 11:51               ` Pavel Machek
2017-04-18 10:51         ` Philipp Zabel
     [not found] ` <20170413154812.19597-1-p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-04-13 15:48   ` [RFC 2/2] mux: mmio-based syscon mux controller Philipp Zabel
2017-04-14  1:09     ` Steve Longerbeam
     [not found]       ` <58fd5844-f24a-37cc-be81-26a716251860-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-19 11:50         ` Philipp Zabel
     [not found]           ` <1492602613.2970.92.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-04-19 11:58             ` Peter Rosin
2017-04-19 15:27               ` Philipp Zabel
     [not found]                 ` <1492615640.2970.145.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-04-19 16:23                   ` Steve Longerbeam
     [not found]                     ` <c45fb784-e4ef-c5a8-3ae9-df1870c9e4a6-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-19 16:32                       ` Philipp Zabel
     [not found]                         ` <1492619554.2970.176.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
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
     [not found]     ` <d6d32063-5df3-3848-32f5-824c500a8927-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-19 11:47       ` Philipp Zabel
2017-04-19 22:09   ` Rob Herring
2017-04-20  8:14     ` Philipp Zabel
     [not found]       ` <1492676048.2158.25.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2017-04-20 11:57         ` Peter Rosin
     [not found]           ` <3f6e0337-46e1-fcfd-430b-4221e45c6ca8-koto5C5qi+TLoDKTGw+V6w@public.gmane.org>
2017-04-20 13:03             ` Philipp Zabel
2017-04-20 13:39       ` Rob Herring
2017-04-20 13:32     ` Peter Rosin
     [not found]       ` <67388375-4f9e-fd1e-5155-7aeac0ea7b46-koto5C5qi+TLoDKTGw+V6w@public.gmane.org>
2017-04-20 14:13         ` Peter Rosin
     [not found]           ` <b2e0c3bb-c74a-3ef3-6b58-1139d7a932a4-koto5C5qi+TLoDKTGw+V6w@public.gmane.org>
2017-04-20 14:50             ` Philipp Zabel
     [not found]               ` <1492699816.2158.107.camel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
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).