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