Merge tag 'sched-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / media / i2c / tvp5150.txt
1 * Texas Instruments TVP5150 and TVP5151 video decoders
2
3 The TVP5150 and TVP5151 are video decoders that convert baseband NTSC and PAL
4 (and also SECAM in the TVP5151 case) video signals to either 8-bit 4:2:2 YUV
5 with discrete syncs or 8-bit ITU-R BT.656 with embedded syncs output formats.
6
7 Required Properties:
8 ====================
9 - compatible:   Value must be "ti,tvp5150".
10 - reg:          I2C slave address.
11
12 Optional Properties:
13 ====================
14 - pdn-gpios:    Phandle for the GPIO connected to the PDN pin, if any.
15 - reset-gpios:  Phandle for the GPIO connected to the RESETB pin, if any.
16
17 The device node must contain one 'port' child node per device physical input
18 and output port, in accordance with the video interface bindings defined in
19 Documentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
20 are numbered as follows
21
22           Name          Type            Port
23         --------------------------------------
24           AIP1A         sink            0
25           AIP1B         sink            1
26           Y-OUT         src             2
27
28 The device node must contain at least one sink port and the src port. Each input
29 port must be linked to an endpoint defined in [1]. The port/connector layout is
30 as follows
31
32 tvp-5150 port@0 (AIP1A)
33         endpoint@0 -----------> Comp0-Con  port
34         endpoint@1 ------+----> Svideo-Con port
35 tvp-5150 port@1 (AIP1B)  |
36         endpoint@1 ------+
37         endpoint@0 -----------> Comp1-Con  port
38 tvp-5150 port@2
39         endpoint (video bitstream output at YOUT[0-7] parallel bus)
40
41 Required Endpoint Properties for parallel synchronization on output port:
42 =========================================================================
43
44 - hsync-active:         Active state of the HSYNC signal. Must be <1> (HIGH).
45 - vsync-active:         Active state of the VSYNC signal. Must be <1> (HIGH).
46 - field-even-active:    Field signal level during the even field data
47                         transmission. Must be <0>.
48
49 Note: Do not specify any of these properties if you want to use the embedded
50       BT.656 synchronization.
51
52 Optional Connector Properties:
53 ==============================
54
55 - sdtv-standards: Set the possible signals to which the hardware tries to lock
56                   instead of using the autodetection mechnism. Please look at
57                   [1] for more information.
58
59 [1] Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml.
60
61 Example - three input sources:
62 #include <dt-bindings/display/sdtv-standards.h>
63
64 comp_connector_0 {
65         compatible = "composite-video-connector";
66         label = "Composite0";
67         sdtv-standards = <SDTV_STD_PAL_M>; /* limit to pal-m signals */
68
69         port {
70                 composite0_to_tvp5150: endpoint {
71                         remote-endpoint = <&tvp5150_to_composite0>;
72                 };
73         };
74 };
75
76 comp_connector_1 {
77         compatible = "composite-video-connector";
78         label = "Composite1";
79         sdtv-standards = <SDTV_STD_NTSC_M>; /* limit to ntsc-m signals */
80
81         port {
82                 composite1_to_tvp5150: endpoint {
83                         remote-endpoint = <&tvp5150_to_composite1>;
84                 };
85         };
86 };
87
88 svideo_connector {
89         compatible = "svideo-connector";
90         label = "S-Video";
91
92         port {
93                 #address-cells = <1>;
94                 #size-cells = <0>;
95
96                 svideo_luma_to_tvp5150: endpoint@0 {
97                         reg = <0>;
98                         remote-endpoint = <&tvp5150_to_svideo_luma>;
99                 };
100
101                 svideo_chroma_to_tvp5150: endpoint@1 {
102                         reg = <1>;
103                         remote-endpoint = <&tvp5150_to_svideo_chroma>;
104                 };
105         };
106 };
107
108 &i2c2 {
109         tvp5150@5c {
110                 compatible = "ti,tvp5150";
111                 reg = <0x5c>;
112                 pdn-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>;
113                 reset-gpios = <&gpio6 7 GPIO_ACTIVE_LOW>;
114                 #address-cells = <1>;
115                 #size-cells = <0>;
116
117                 port@0 {
118                         #address-cells = <1>;
119                         #size-cells = <0>;
120                         reg = <0>;
121
122                         tvp5150_to_composite0: endpoint@0 {
123                                 reg = <0>;
124                                 remote-endpoint = <&composite0_to_tvp5150>;
125                         };
126
127                         tvp5150_to_svideo_luma: endpoint@1 {
128                                 reg = <1>;
129                                 remote-endpoint = <&svideo_luma_to_tvp5150>;
130                         };
131                 };
132
133                 port@1 {
134                         #address-cells = <1>;
135                         #size-cells = <0>;
136                         reg = <1>;
137
138                         tvp5150_to_composite1: endpoint@0 {
139                                 reg = <0>;
140                                 remote-endpoint = <&composite1_to_tvp5150>;
141                         };
142
143                         tvp5150_to_svideo_chroma: endpoint@1 {
144                                 reg = <1>;
145                                 remote-endpoint = <&svideo_chroma_to_tvp5150>;
146                         };
147                 };
148
149                 port@2 {
150                         reg = <2>;
151
152                         tvp5150_1: endpoint {
153                                 remote-endpoint = <&ccdc_ep>;
154                         };
155                 };
156         };
157 };