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