| 
     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 ...
Cache object: f4a6bd066a12c57da86969786b85ecc4 
 
 |