The bridge allows to select the input source via a mux controller. Signed-off-by: Guido Günther <agx@xxxxxxxxxxx> --- .../display/bridge/mux-input-bridge.yaml | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/mux-input-bridge.yaml diff --git a/Documentation/devicetree/bindings/display/bridge/mux-input-bridge.yaml b/Documentation/devicetree/bindings/display/bridge/mux-input-bridge.yaml new file mode 100644 index 000000000000..4029cf63ee5c --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/mux-input-bridge.yaml @@ -0,0 +1,123 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/mux-input-bridge.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: DRM input source selection via multiplexer + +maintainers: + - Guido Gúnther <agx@xxxxxxxxxxx> + +description: | + The input multiplexer bridge allows to select an input source + via an associated mux controller. + +properties: + compatible: + const: mux-input-bridge + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + default-input: + description: The default input to use + + mux-controls: + description: + mux controller node to use for operating the input mux + + ports: + type: object + properties: + '#address-cells': + const: 1 + '#size-cells': + const: 0 + + patternProperties: + "^port@[0-9]+": + type: object + description: + At least three nodes containing endpoints connecting to the + pixel data inputs and outputs. The last port is always the + output port. + + properties: + reg: + maxItems: 1 + + endpoint: + description: sub-node describing the input + type: object + + required: + - reg + + additionalProperties: false + + required: + - port@0 + - port@1 + - port@2 + + additionalProperties: false + +required: + - '#address-cells' + - '#size-cells' + - mux-controls + - ports + +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>; + }; + + mipi-mux { + compatible = "mux-input-bridge"; + default-input = <0>; + mux-controls = <&mux 0>; + #address-cells = <1>; + #size-cells = <0>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + dpi_mux_from_lcdif: endpoint { + remote-endpoint = <&lcdif_dpi_out>; + }; + }; + + port@1 { + reg = <1>; + + dpi_mux_from_dccss: endpoint { + remote-endpoint = <&dcss_dpi_out>; + }; + }; + + port@2 { + reg = <2>; + + dpi_mux_out: endpoint { + remote-endpoint = <&nwl_dpi_in>; + }; + }; + }; + }; -- 2.26.1