xref: /linux/Documentation/devicetree/bindings/media/i2c/tvp5150.txt (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
1367298c6SJavier Martinez Canillas* Texas Instruments TVP5150 and TVP5151 video decoders
2367298c6SJavier Martinez Canillas
3367298c6SJavier Martinez CanillasThe TVP5150 and TVP5151 are video decoders that convert baseband NTSC and PAL
4367298c6SJavier Martinez Canillas(and also SECAM in the TVP5151 case) video signals to either 8-bit 4:2:2 YUV
5367298c6SJavier Martinez Canillaswith discrete syncs or 8-bit ITU-R BT.656 with embedded syncs output formats.
6367298c6SJavier Martinez Canillas
7367298c6SJavier Martinez CanillasRequired Properties:
847428787SMarco Felsch====================
947428787SMarco Felsch- compatible:	Value must be "ti,tvp5150".
1047428787SMarco Felsch- reg:		I2C slave address.
11367298c6SJavier Martinez Canillas
12367298c6SJavier Martinez CanillasOptional Properties:
1347428787SMarco Felsch====================
1447428787SMarco Felsch- pdn-gpios:	Phandle for the GPIO connected to the PDN pin, if any.
1547428787SMarco Felsch- reset-gpios:	Phandle for the GPIO connected to the RESETB pin, if any.
16367298c6SJavier Martinez Canillas
17fc79884bSMarco FelschThe device node must contain one 'port' child node per device physical input
18fc79884bSMarco Felschand output port, in accordance with the video interface bindings defined in
19fc79884bSMarco FelschDocumentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
20fc79884bSMarco Felschare numbered as follows
21367298c6SJavier Martinez Canillas
22fc79884bSMarco Felsch	  Name		Type		Port
23fc79884bSMarco Felsch	--------------------------------------
24fc79884bSMarco Felsch	  AIP1A		sink		0
25fc79884bSMarco Felsch	  AIP1B		sink		1
26fc79884bSMarco Felsch	  Y-OUT		src		2
27fc79884bSMarco Felsch
28fc79884bSMarco FelschThe device node must contain at least one sink port and the src port. Each input
2947428787SMarco Felschport must be linked to an endpoint defined in [1]. The port/connector layout is
3047428787SMarco Felschas follows
31fc79884bSMarco Felsch
32fc79884bSMarco Felschtvp-5150 port@0 (AIP1A)
33fc79884bSMarco Felsch	endpoint@0 -----------> Comp0-Con  port
34fc79884bSMarco Felsch	endpoint@1 ------+----> Svideo-Con port
35fc79884bSMarco Felschtvp-5150 port@1 (AIP1B)  |
36fc79884bSMarco Felsch	endpoint@1 ------+
37fc79884bSMarco Felsch	endpoint@0 -----------> Comp1-Con  port
38fc79884bSMarco Felschtvp-5150 port@2
39fc79884bSMarco Felsch	endpoint (video bitstream output at YOUT[0-7] parallel bus)
40fc79884bSMarco Felsch
41fc79884bSMarco FelschRequired Endpoint Properties for parallel synchronization on output port:
4247428787SMarco Felsch=========================================================================
43367298c6SJavier Martinez Canillas
4447428787SMarco Felsch- hsync-active:		Active state of the HSYNC signal. Must be <1> (HIGH).
4547428787SMarco Felsch- vsync-active:		Active state of the VSYNC signal. Must be <1> (HIGH).
4647428787SMarco Felsch- field-even-active:	Field signal level during the even field data
47367298c6SJavier Martinez Canillas			transmission. Must be <0>.
48367298c6SJavier Martinez Canillas
4947428787SMarco FelschNote: Do not specify any of these properties if you want to use the embedded
5047428787SMarco Felsch      BT.656 synchronization.
5147428787SMarco Felsch
52de436289SMarco FelschOptional Connector Properties:
53de436289SMarco Felsch==============================
54de436289SMarco Felsch
55de436289SMarco Felsch- sdtv-standards: Set the possible signals to which the hardware tries to lock
56*47aab533SBjorn Helgaas                  instead of using the autodetection mechanism. Please look at
57de436289SMarco Felsch                  [1] for more information.
58de436289SMarco Felsch
59480017f0SMauro Carvalho Chehab[1] Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml.
60367298c6SJavier Martinez Canillas
61fc79884bSMarco FelschExample - three input sources:
62de436289SMarco Felsch#include <dt-bindings/display/sdtv-standards.h>
63fc79884bSMarco Felsch
64fc79884bSMarco Felschcomp_connector_0 {
65fc79884bSMarco Felsch	compatible = "composite-video-connector";
66fc79884bSMarco Felsch	label = "Composite0";
67de436289SMarco Felsch	sdtv-standards = <SDTV_STD_PAL_M>; /* limit to pal-m signals */
68fc79884bSMarco Felsch
69fc79884bSMarco Felsch	port {
70fc79884bSMarco Felsch		composite0_to_tvp5150: endpoint {
71fc79884bSMarco Felsch			remote-endpoint = <&tvp5150_to_composite0>;
72fc79884bSMarco Felsch		};
73fc79884bSMarco Felsch	};
74fc79884bSMarco Felsch};
75fc79884bSMarco Felsch
76fc79884bSMarco Felschcomp_connector_1 {
77fc79884bSMarco Felsch	compatible = "composite-video-connector";
78fc79884bSMarco Felsch	label = "Composite1";
79de436289SMarco Felsch	sdtv-standards = <SDTV_STD_NTSC_M>; /* limit to ntsc-m signals */
80fc79884bSMarco Felsch
81fc79884bSMarco Felsch	port {
82fc79884bSMarco Felsch		composite1_to_tvp5150: endpoint {
83fc79884bSMarco Felsch			remote-endpoint = <&tvp5150_to_composite1>;
84fc79884bSMarco Felsch		};
85fc79884bSMarco Felsch	};
86fc79884bSMarco Felsch};
87fc79884bSMarco Felsch
88fc79884bSMarco Felschsvideo_connector {
89fc79884bSMarco Felsch	compatible = "svideo-connector";
90fc79884bSMarco Felsch	label = "S-Video";
91fc79884bSMarco Felsch
92fc79884bSMarco Felsch	port {
93fc79884bSMarco Felsch		#address-cells = <1>;
94fc79884bSMarco Felsch		#size-cells = <0>;
95fc79884bSMarco Felsch
96fc79884bSMarco Felsch		svideo_luma_to_tvp5150: endpoint@0 {
97fc79884bSMarco Felsch			reg = <0>;
98fc79884bSMarco Felsch			remote-endpoint = <&tvp5150_to_svideo_luma>;
99fc79884bSMarco Felsch		};
100fc79884bSMarco Felsch
101fc79884bSMarco Felsch		svideo_chroma_to_tvp5150: endpoint@1 {
102fc79884bSMarco Felsch			reg = <1>;
103fc79884bSMarco Felsch			remote-endpoint = <&tvp5150_to_svideo_chroma>;
104fc79884bSMarco Felsch		};
105fc79884bSMarco Felsch	};
106fc79884bSMarco Felsch};
107367298c6SJavier Martinez Canillas
108367298c6SJavier Martinez Canillas&i2c2 {
109367298c6SJavier Martinez Canillas	tvp5150@5c {
110367298c6SJavier Martinez Canillas		compatible = "ti,tvp5150";
111367298c6SJavier Martinez Canillas		reg = <0x5c>;
112367298c6SJavier Martinez Canillas		pdn-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>;
113367298c6SJavier Martinez Canillas		reset-gpios = <&gpio6 7 GPIO_ACTIVE_LOW>;
114fc79884bSMarco Felsch		#address-cells = <1>;
115fc79884bSMarco Felsch		#size-cells = <0>;
116367298c6SJavier Martinez Canillas
117fc79884bSMarco Felsch		port@0 {
118fc79884bSMarco Felsch			#address-cells = <1>;
119fc79884bSMarco Felsch			#size-cells = <0>;
120fc79884bSMarco Felsch			reg = <0>;
121fc79884bSMarco Felsch
122fc79884bSMarco Felsch			tvp5150_to_composite0: endpoint@0 {
123fc79884bSMarco Felsch				reg = <0>;
124fc79884bSMarco Felsch				remote-endpoint = <&composite0_to_tvp5150>;
125fc79884bSMarco Felsch			};
126fc79884bSMarco Felsch
127fc79884bSMarco Felsch			tvp5150_to_svideo_luma: endpoint@1 {
128fc79884bSMarco Felsch				reg = <1>;
129fc79884bSMarco Felsch				remote-endpoint = <&svideo_luma_to_tvp5150>;
130fc79884bSMarco Felsch			};
131fc79884bSMarco Felsch		};
132fc79884bSMarco Felsch
133fc79884bSMarco Felsch		port@1 {
134fc79884bSMarco Felsch			#address-cells = <1>;
135fc79884bSMarco Felsch			#size-cells = <0>;
136fc79884bSMarco Felsch			reg = <1>;
137fc79884bSMarco Felsch
138fc79884bSMarco Felsch			tvp5150_to_composite1: endpoint@0 {
139fc79884bSMarco Felsch				reg = <0>;
140fc79884bSMarco Felsch                                remote-endpoint = <&composite1_to_tvp5150>;
141fc79884bSMarco Felsch			};
142fc79884bSMarco Felsch
143fc79884bSMarco Felsch			tvp5150_to_svideo_chroma: endpoint@1 {
144fc79884bSMarco Felsch				reg = <1>;
145fc79884bSMarco Felsch				remote-endpoint = <&svideo_chroma_to_tvp5150>;
146fc79884bSMarco Felsch			};
147fc79884bSMarco Felsch		};
148fc79884bSMarco Felsch
149fc79884bSMarco Felsch		port@2 {
150fc79884bSMarco Felsch			reg = <2>;
151fc79884bSMarco Felsch
152367298c6SJavier Martinez Canillas			tvp5150_1: endpoint {
153367298c6SJavier Martinez Canillas				remote-endpoint = <&ccdc_ep>;
154367298c6SJavier Martinez Canillas			};
155367298c6SJavier Martinez Canillas		};
156367298c6SJavier Martinez Canillas	};
157367298c6SJavier Martinez Canillas};
158