107 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/media/video-mux.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Video Multiplexer8 9maintainers:10 - Sakari Ailus <sakari.ailus@linux.intel.com>11 - Laurent Pinchart <laurent.pinchart@ideasonboard.com>12 13description:14 Video multiplexers allow to select between multiple input ports. Video15 received on the active input port is passed through to the output port. Muxes16 described by this binding are controlled by a multiplexer controller.17 18properties:19 compatible:20 const: video-mux21 22 mux-controls:23 maxItems: 124 25 '#address-cells':26 const: 127 28 '#size-cells':29 const: 030 31 ports:32 $ref: /schemas/graph.yaml#/properties/ports33 34 patternProperties:35 '^port@':36 $ref: /schemas/graph.yaml#/properties/port37 38 required:39 - port@040 - port@141 - port@242 43patternProperties:44 '^port@':45 $ref: /schemas/graph.yaml#/properties/port46 description:47 At least three port nodes containing endpoints connecting to the source48 and sink devices according to of_graph bindings. The last port is the49 output port, all others are inputs.50 51required:52 - compatible53 - mux-controls54 55oneOf:56 - required:57 - ports58 - required:59 - port@060 - port@161 - port@262 63additionalProperties: false64 65examples: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...107