Documentation / devicetree / bindings / media / i2c / techwell,tw9900.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 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>;
                    };
                };
            };
        };
    };