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