Message ID | de0f0831cbbd64328b1e348168d5d6cf4bc65b0d.1700235276.git.mehdi.djait@bootlin.com |
---|---|
State | Accepted |
Commit | 0f82ffa9a295601e76c48c67f2295aa19a7899d4 |
Headers | show |
Series | media: i2c: Introduce driver for the TW9900 video decoder | expand |
Hi, On Fri 17 Nov 23, 16:42, Mehdi Djait wrote: > The Techwell TW9900 is a video decoder supporting multiple input > standards such as PAL and NTSC and has a parallel BT.656 output > interface. > > It's designed to be low-power, posesses some features such as a > programmable comb-filter, and automatic input standard detection > > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Mehdi Djait <mehdi.djait@bootlin.com> Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Cheers, Paul > --- > .../bindings/media/i2c/techwell,tw9900.yaml | 137 ++++++++++++++++++ > 1 file changed, 137 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml b/Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml > new file mode 100644 > index 000000000000..e37317f81072 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml > @@ -0,0 +1,137 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/techwell,tw9900.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Techwell TW9900 NTSC/PAL video decoder > + > +maintainers: > + - Mehdi Djait <mehdi.djait@bootlin.com> > + > +description: > + The tw9900 is a multi-standard video decoder, supporting NTSC, PAL standards > + with auto-detection features. > + > +properties: > + compatible: > + const: techwell,tw9900 > + > + reg: > + maxItems: 1 > + > + vdd-supply: > + description: VDD power supply > + > + reset-gpios: > + description: GPIO descriptor for the RESET input pin > + maxItems: 1 > + > + powerdown-gpios: > + description: GPIO descriptor for the POWERDOWN input pin > + maxItems: 1 > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/$defs/port-base > + description: Analog input port > + > + properties: > + endpoint@0: > + $ref: /schemas/graph.yaml#/properties/endpoint > + description: CVBS over MUX0 > + > + endpoint@1: > + $ref: /schemas/graph.yaml#/properties/endpoint > + description: CVBS over MUX1 > + > + endpoint@2: > + $ref: /schemas/graph.yaml#/properties/endpoint > + description: Chroma over CIN0 and Y over MUX0 > + > + endpoint@3: > + $ref: /schemas/graph.yaml#/properties/endpoint > + description: Chroma over CIN0 and Y over MUX1 > + > + oneOf: > + - required: > + - endpoint@0 > + - required: > + - endpoint@1 > + - required: > + - endpoint@2 > + - required: > + - endpoint@3 > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for the decoder output. > + > + > + required: > + - port@0 > + - port@1 > + > +required: > + - compatible > + - ports > + - reg > + - vdd-supply > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/display/sdtv-standards.h> > + #include <dt-bindings/gpio/gpio.h> > + > + composite_connector { > + compatible = "composite-video-connector"; > + label = "tv"; > + sdtv-standards = <(SDTV_STD_PAL | SDTV_STD_NTSC)>; > + > + port { > + composite_to_tw9900: endpoint { > + remote-endpoint = <&tw9900_to_composite>; > + }; > + }; > + }; > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + video-decoder@44 { > + compatible = "techwell,tw9900"; > + reg = <0x44>; > + > + vdd-supply = <&tw9900_supply>; > + reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + reg = <0>; > + tw9900_to_composite: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&composite_to_tw9900>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + endpoint { > + remote-endpoint = <&cif_in>; > + }; > + }; > + }; > + }; > + }; > -- > 2.41.0 >
diff --git a/Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml b/Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml new file mode 100644 index 000000000000..e37317f81072 --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml @@ -0,0 +1,137 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/techwell,tw9900.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Techwell TW9900 NTSC/PAL video decoder + +maintainers: + - Mehdi Djait <mehdi.djait@bootlin.com> + +description: + The tw9900 is a multi-standard video decoder, supporting NTSC, PAL standards + with auto-detection features. + +properties: + compatible: + const: techwell,tw9900 + + reg: + maxItems: 1 + + vdd-supply: + description: VDD power supply + + reset-gpios: + description: GPIO descriptor for the RESET input pin + maxItems: 1 + + powerdown-gpios: + description: GPIO descriptor for the POWERDOWN input pin + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + description: Analog input port + + properties: + endpoint@0: + $ref: /schemas/graph.yaml#/properties/endpoint + description: CVBS over MUX0 + + endpoint@1: + $ref: /schemas/graph.yaml#/properties/endpoint + description: CVBS over MUX1 + + endpoint@2: + $ref: /schemas/graph.yaml#/properties/endpoint + description: Chroma over CIN0 and Y over MUX0 + + endpoint@3: + $ref: /schemas/graph.yaml#/properties/endpoint + description: Chroma over CIN0 and Y over MUX1 + + oneOf: + - required: + - endpoint@0 + - required: + - endpoint@1 + - required: + - endpoint@2 + - required: + - endpoint@3 + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for the decoder output. + + + required: + - port@0 + - port@1 + +required: + - compatible + - ports + - reg + - vdd-supply + +additionalProperties: false + +examples: + - | + #include <dt-bindings/display/sdtv-standards.h> + #include <dt-bindings/gpio/gpio.h> + + composite_connector { + compatible = "composite-video-connector"; + label = "tv"; + sdtv-standards = <(SDTV_STD_PAL | SDTV_STD_NTSC)>; + + port { + composite_to_tw9900: endpoint { + remote-endpoint = <&tw9900_to_composite>; + }; + }; + }; + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + video-decoder@44 { + compatible = "techwell,tw9900"; + reg = <0x44>; + + vdd-supply = <&tw9900_supply>; + reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + #address-cells = <1>; + #size-cells = <0>; + + reg = <0>; + tw9900_to_composite: endpoint@0 { + reg = <0>; + remote-endpoint = <&composite_to_tw9900>; + }; + }; + + port@1 { + reg = <1>; + endpoint { + remote-endpoint = <&cif_in>; + }; + }; + }; + }; + };