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