summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml
blob: c9673391afdbde00b3e53a74e6e5fb667d7aa01d (plain)
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#/properties/port
        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>;
                    };
                };
            };
        };
    };