Skip to content

Commit

Permalink
dt-bindings: media: Convert video-mux to DT schema
Browse files Browse the repository at this point in the history
Now that we have the graph schema, convert the video-mux binding to DT
schema.

Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: linux-media@vger.kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Link: https://lore.kernel.org/r/20210311234042.1588310-1-robh@kernel.org
  • Loading branch information
Rob Herring committed Mar 23, 2021
1 parent c59773d commit 3b2e006
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 60 deletions.
60 changes: 0 additions & 60 deletions Documentation/devicetree/bindings/media/video-mux.txt

This file was deleted.

106 changes: 106 additions & 0 deletions Documentation/devicetree/bindings/media/video-mux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# 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>;
};
};
};
...

0 comments on commit 3b2e006

Please sign in to comment.