107 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# SPDX-License-Identifier: GPL-2.0
 | 
						|
%YAML 1.2
 | 
						|
---
 | 
						|
$id: http://devicetree.org/schemas/media/video-mux.yaml#
 | 
						|
$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
 | 
						|
title: Video Multiplexer
 | 
						|
 | 
						|
maintainers:
 | 
						|
  - Sakari Ailus <sakari.ailus@linux.intel.com>
 | 
						|
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 | 
						|
 | 
						|
description:
 | 
						|
  Video multiplexers allow to select between multiple input ports. Video
 | 
						|
  received on the active input port is passed through to the output port. Muxes
 | 
						|
  described by this binding are controlled by a multiplexer controller.
 | 
						|
 | 
						|
properties:
 | 
						|
  compatible:
 | 
						|
    const: video-mux
 | 
						|
 | 
						|
  mux-controls:
 | 
						|
    maxItems: 1
 | 
						|
 | 
						|
  '#address-cells':
 | 
						|
    const: 1
 | 
						|
 | 
						|
  '#size-cells':
 | 
						|
    const: 0
 | 
						|
 | 
						|
  ports:
 | 
						|
    $ref: /schemas/graph.yaml#/properties/ports
 | 
						|
 | 
						|
    patternProperties:
 | 
						|
      '^port@':
 | 
						|
        $ref: /schemas/graph.yaml#/properties/port
 | 
						|
 | 
						|
    required:
 | 
						|
      - port@0
 | 
						|
      - port@1
 | 
						|
      - port@2
 | 
						|
 | 
						|
patternProperties:
 | 
						|
  '^port@':
 | 
						|
    $ref: /schemas/graph.yaml#/properties/port
 | 
						|
    description:
 | 
						|
      At least three port nodes containing endpoints connecting to the source
 | 
						|
      and sink devices according to of_graph bindings. The last port is the
 | 
						|
      output port, all others are inputs.
 | 
						|
 | 
						|
required:
 | 
						|
  - compatible
 | 
						|
  - mux-controls
 | 
						|
 | 
						|
oneOf:
 | 
						|
  - required:
 | 
						|
      - ports
 | 
						|
  - required:
 | 
						|
      - port@0
 | 
						|
      - port@1
 | 
						|
      - port@2
 | 
						|
 | 
						|
additionalProperties: false
 | 
						|
 | 
						|
examples:
 | 
						|
  - |
 | 
						|
    #include <dt-bindings/gpio/gpio.h>
 | 
						|
 | 
						|
    mux: mux-controller {
 | 
						|
        compatible = "gpio-mux";
 | 
						|
        #mux-control-cells = <0>;
 | 
						|
 | 
						|
        mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
 | 
						|
    };
 | 
						|
 | 
						|
    video-mux {
 | 
						|
        compatible = "video-mux";
 | 
						|
        mux-controls = <&mux>;
 | 
						|
        #address-cells = <1>;
 | 
						|
        #size-cells = <0>;
 | 
						|
 | 
						|
        port@0 {
 | 
						|
            reg = <0>;
 | 
						|
 | 
						|
            mux_in0: endpoint {
 | 
						|
                remote-endpoint = <&video_source0_out>;
 | 
						|
            };
 | 
						|
        };
 | 
						|
 | 
						|
        port@1 {
 | 
						|
            reg = <1>;
 | 
						|
 | 
						|
            mux_in1: endpoint {
 | 
						|
                remote-endpoint = <&video_source1_out>;
 | 
						|
            };
 | 
						|
        };
 | 
						|
 | 
						|
        port@2 {
 | 
						|
            reg = <2>;
 | 
						|
 | 
						|
            mux_out: endpoint {
 | 
						|
                remote-endpoint = <&capture_interface_in>;
 | 
						|
            };
 | 
						|
        };
 | 
						|
    };
 | 
						|
...
 |