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