xref: /openbmc/linux/Documentation/devicetree/bindings/media/i2c/tvp5150.txt (revision e77bc7dc9af0ec53996367b2053dfafee83b7edb)
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 };
158