1*4882a593SmuzhiyunVideo Multiplexer 2*4882a593Smuzhiyun================= 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunVideo multiplexers allow to select between multiple input ports. Video received 5*4882a593Smuzhiyunon the active input port is passed through to the output port. Muxes described 6*4882a593Smuzhiyunby this binding are controlled by a multiplexer controller that is described by 7*4882a593Smuzhiyunthe bindings in Documentation/devicetree/bindings/mux/mux-controller.txt 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunRequired properties: 10*4882a593Smuzhiyun- compatible : should be "video-mux" 11*4882a593Smuzhiyun- mux-controls : mux controller node to use for operating the mux 12*4882a593Smuzhiyun- #address-cells: should be <1> 13*4882a593Smuzhiyun- #size-cells: should be <0> 14*4882a593Smuzhiyun- port@*: at least three port nodes containing endpoints connecting to the 15*4882a593Smuzhiyun source and sink devices according to of_graph bindings. The last port is 16*4882a593Smuzhiyun the output port, all others are inputs. 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunOptionally, #address-cells, #size-cells, and port nodes can be grouped under a 19*4882a593Smuzhiyunports node as described in Documentation/devicetree/bindings/graph.txt. 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunExample: 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun mux: mux-controller { 24*4882a593Smuzhiyun compatible = "gpio-mux"; 25*4882a593Smuzhiyun #mux-control-cells = <0>; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun video-mux { 31*4882a593Smuzhiyun compatible = "video-mux"; 32*4882a593Smuzhiyun mux-controls = <&mux>; 33*4882a593Smuzhiyun #address-cells = <1>; 34*4882a593Smuzhiyun #size-cells = <0>; 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun port@0 { 37*4882a593Smuzhiyun reg = <0>; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun mux_in0: endpoint { 40*4882a593Smuzhiyun remote-endpoint = <&video_source0_out>; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun port@1 { 45*4882a593Smuzhiyun reg = <1>; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun mux_in1: endpoint { 48*4882a593Smuzhiyun remote-endpoint = <&video_source1_out>; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun port@2 { 53*4882a593Smuzhiyun reg = <2>; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun mux_out: endpoint { 56*4882a593Smuzhiyun remote-endpoint = <&capture_interface_in>; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun}; 61