xref: /freebsd/sys/contrib/device-tree/Bindings/media/i2c/tvp5150.txt (revision d4eeb02986980bf33dd56c41ceb9fc5f180c0d47)
1* Texas Instruments TVP5150 and TVP5151 video decoders
2
3The 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
5with discrete syncs or 8-bit ITU-R BT.656 with embedded syncs output formats.
6
7Required Properties:
8====================
9- compatible:	Value must be "ti,tvp5150".
10- reg:		I2C slave address.
11
12Optional 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
17The device node must contain one 'port' child node per device physical input
18and output port, in accordance with the video interface bindings defined in
19Documentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
20are numbered as follows
21
22	  Name		Type		Port
23	--------------------------------------
24	  AIP1A		sink		0
25	  AIP1B		sink		1
26	  Y-OUT		src		2
27
28The device node must contain at least one sink port and the src port. Each input
29port must be linked to an endpoint defined in [1]. The port/connector layout is
30as follows
31
32tvp-5150 port@0 (AIP1A)
33	endpoint@0 -----------> Comp0-Con  port
34	endpoint@1 ------+----> Svideo-Con port
35tvp-5150 port@1 (AIP1B)  |
36	endpoint@1 ------+
37	endpoint@0 -----------> Comp1-Con  port
38tvp-5150 port@2
39	endpoint (video bitstream output at YOUT[0-7] parallel bus)
40
41Required 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
49Note: Do not specify any of these properties if you want to use the embedded
50      BT.656 synchronization.
51
52Optional 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
61Example - three input sources:
62#include <dt-bindings/display/sdtv-standards.h>
63
64comp_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
76comp_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
88svideo_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};
158