um: fix stub location calculation
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / media / video-mux.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/media/video-mux.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Video Multiplexer
8
9 maintainers:
10   - Sakari Ailus <sakari.ailus@linux.intel.com>
11   - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12
13 description:
14   Video multiplexers allow to select between multiple input ports. Video
15   received on the active input port is passed through to the output port. Muxes
16   described by this binding are controlled by a multiplexer controller.
17
18 properties:
19   compatible:
20     const: video-mux
21
22   mux-controls:
23     maxItems: 1
24
25   '#address-cells':
26     const: 1
27
28   '#size-cells':
29     const: 0
30
31   ports:
32     $ref: /schemas/graph.yaml#/properties/ports
33
34     patternProperties:
35       '^port@':
36         $ref: /schemas/graph.yaml#/properties/port
37
38     required:
39       - port@0
40       - port@1
41       - port@2
42
43 patternProperties:
44   '^port@':
45     $ref: /schemas/graph.yaml#/properties/port
46     description:
47       At least three port nodes containing endpoints connecting to the source
48       and sink devices according to of_graph bindings. The last port is the
49       output port, all others are inputs.
50
51 required:
52   - compatible
53   - mux-controls
54
55 oneOf:
56   - required:
57       - ports
58   - required:
59       - port@0
60       - port@1
61       - port@2
62
63 additionalProperties: false
64
65 examples:
66   - |
67     #include <dt-bindings/gpio/gpio.h>
68
69     mux: mux-controller {
70         compatible = "gpio-mux";
71         #mux-control-cells = <0>;
72
73         mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
74     };
75
76     video-mux {
77         compatible = "video-mux";
78         mux-controls = <&mux>;
79         #address-cells = <1>;
80         #size-cells = <0>;
81
82         port@0 {
83             reg = <0>;
84
85             mux_in0: endpoint {
86                 remote-endpoint = <&video_source0_out>;
87             };
88         };
89
90         port@1 {
91             reg = <1>;
92
93             mux_in1: endpoint {
94                 remote-endpoint = <&video_source1_out>;
95             };
96         };
97
98         port@2 {
99             reg = <2>;
100
101             mux_out: endpoint {
102                 remote-endpoint = <&capture_interface_in>;
103             };
104         };
105     };
106 ...