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