1*3cb36d56SBhargav Joshi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*3cb36d56SBhargav Joshi%YAML 1.2 3*3cb36d56SBhargav Joshi--- 4*3cb36d56SBhargav Joshi$id: http://devicetree.org/schemas/media/ti,da850-vpif.yaml# 5*3cb36d56SBhargav Joshi$schema: http://devicetree.org/meta-schemas/core.yaml# 6*3cb36d56SBhargav Joshi 7*3cb36d56SBhargav Joshititle: Texas Instruments DA850/AM18x Video Port Interface (VPIF) 8*3cb36d56SBhargav Joshi 9*3cb36d56SBhargav Joshimaintainers: 10*3cb36d56SBhargav Joshi - Lad, Prabhakar <prabhakar.csengg@gmail.com> 11*3cb36d56SBhargav Joshi 12*3cb36d56SBhargav Joshidescription: 13*3cb36d56SBhargav Joshi The Video Port Interface (VPIF) is the primary component for video capture 14*3cb36d56SBhargav Joshi and display on the DA850/AM18x family of TI DaVinci/Sitara SoCs. 15*3cb36d56SBhargav Joshi 16*3cb36d56SBhargav Joshi TI Document reference:- SPRUH82C, Chapter 35 17*3cb36d56SBhargav Joshi https://www.ti.com/lit/pdf/spruh82 18*3cb36d56SBhargav Joshi 19*3cb36d56SBhargav Joshiproperties: 20*3cb36d56SBhargav Joshi compatible: 21*3cb36d56SBhargav Joshi const: ti,da850-vpif 22*3cb36d56SBhargav Joshi 23*3cb36d56SBhargav Joshi reg: 24*3cb36d56SBhargav Joshi maxItems: 1 25*3cb36d56SBhargav Joshi 26*3cb36d56SBhargav Joshi interrupts: 27*3cb36d56SBhargav Joshi maxItems: 1 28*3cb36d56SBhargav Joshi 29*3cb36d56SBhargav Joshi power-domains: 30*3cb36d56SBhargav Joshi maxItems: 1 31*3cb36d56SBhargav Joshi 32*3cb36d56SBhargav Joshi '#address-cells': 33*3cb36d56SBhargav Joshi const: 1 34*3cb36d56SBhargav Joshi 35*3cb36d56SBhargav Joshi '#size-cells': 36*3cb36d56SBhargav Joshi const: 0 37*3cb36d56SBhargav Joshi 38*3cb36d56SBhargav Joshi port: 39*3cb36d56SBhargav Joshi $ref: /schemas/graph.yaml#/$defs/port-base 40*3cb36d56SBhargav Joshi unevaluatedProperties: false 41*3cb36d56SBhargav Joshi description: 42*3cb36d56SBhargav Joshi VPIF port when the bus is configured as a single 16-bit input 43*3cb36d56SBhargav Joshi 44*3cb36d56SBhargav Joshi properties: 45*3cb36d56SBhargav Joshi endpoint: 46*3cb36d56SBhargav Joshi $ref: video-interfaces.yaml# 47*3cb36d56SBhargav Joshi unevaluatedProperties: false 48*3cb36d56SBhargav Joshi 49*3cb36d56SBhargav Joshi properties: 50*3cb36d56SBhargav Joshi bus-width: 51*3cb36d56SBhargav Joshi enum: [8, 16] 52*3cb36d56SBhargav Joshi 53*3cb36d56SBhargav JoshipatternProperties: 54*3cb36d56SBhargav Joshi ^port@[0-1]$: 55*3cb36d56SBhargav Joshi $ref: /schemas/graph.yaml#/$defs/port-base 56*3cb36d56SBhargav Joshi unevaluatedProperties: false 57*3cb36d56SBhargav Joshi description: 58*3cb36d56SBhargav Joshi VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a 59*3cb36d56SBhargav Joshi single 16-bit channel. It should contain one or two port child nodes 60*3cb36d56SBhargav Joshi with child 'endpoint' node. If there are two ports then port@0 must 61*3cb36d56SBhargav Joshi describe the input and port@1 output channels. 62*3cb36d56SBhargav Joshi 63*3cb36d56SBhargav Joshi properties: 64*3cb36d56SBhargav Joshi endpoint: 65*3cb36d56SBhargav Joshi $ref: video-interfaces.yaml# 66*3cb36d56SBhargav Joshi unevaluatedProperties: false 67*3cb36d56SBhargav Joshi 68*3cb36d56SBhargav Joshi properties: 69*3cb36d56SBhargav Joshi bus-width: 70*3cb36d56SBhargav Joshi enum: [8, 16] 71*3cb36d56SBhargav Joshi 72*3cb36d56SBhargav Joshi endpoint@0: 73*3cb36d56SBhargav Joshi $ref: video-interfaces.yaml# 74*3cb36d56SBhargav Joshi unevaluatedProperties: false 75*3cb36d56SBhargav Joshi description: 76*3cb36d56SBhargav Joshi First 8-bit channel using the lower data lines [7:0]. 77*3cb36d56SBhargav Joshi 78*3cb36d56SBhargav Joshi properties: 79*3cb36d56SBhargav Joshi bus-width: 80*3cb36d56SBhargav Joshi const: 8 81*3cb36d56SBhargav Joshi 82*3cb36d56SBhargav Joshi data-shift: 83*3cb36d56SBhargav Joshi const: 0 84*3cb36d56SBhargav Joshi 85*3cb36d56SBhargav Joshi endpoint@1: 86*3cb36d56SBhargav Joshi $ref: video-interfaces.yaml# 87*3cb36d56SBhargav Joshi unevaluatedProperties: false 88*3cb36d56SBhargav Joshi description: 89*3cb36d56SBhargav Joshi Second 8-bit channel using the upper data lines [15:8]. 90*3cb36d56SBhargav Joshi 91*3cb36d56SBhargav Joshi properties: 92*3cb36d56SBhargav Joshi bus-width: 93*3cb36d56SBhargav Joshi const: 8 94*3cb36d56SBhargav Joshi 95*3cb36d56SBhargav Joshi data-shift: 96*3cb36d56SBhargav Joshi const: 8 97*3cb36d56SBhargav Joshi 98*3cb36d56SBhargav Joshi anyOf: 99*3cb36d56SBhargav Joshi - properties: 100*3cb36d56SBhargav Joshi endpoint@0: false 101*3cb36d56SBhargav Joshi endpoint@1: false 102*3cb36d56SBhargav Joshi - properties: 103*3cb36d56SBhargav Joshi endpoint: false 104*3cb36d56SBhargav Joshi 105*3cb36d56SBhargav Joshirequired: 106*3cb36d56SBhargav Joshi - compatible 107*3cb36d56SBhargav Joshi - reg 108*3cb36d56SBhargav Joshi - interrupts 109*3cb36d56SBhargav Joshi 110*3cb36d56SBhargav JoshioneOf: 111*3cb36d56SBhargav Joshi - properties: 112*3cb36d56SBhargav Joshi port@0: false 113*3cb36d56SBhargav Joshi port@1: false 114*3cb36d56SBhargav Joshi - properties: 115*3cb36d56SBhargav Joshi port: false 116*3cb36d56SBhargav Joshi 117*3cb36d56SBhargav JoshiadditionalProperties: false 118*3cb36d56SBhargav Joshi 119*3cb36d56SBhargav Joshiexamples: 120*3cb36d56SBhargav Joshi - | 121*3cb36d56SBhargav Joshi vpif@217000 { 122*3cb36d56SBhargav Joshi compatible = "ti,da850-vpif"; 123*3cb36d56SBhargav Joshi reg = <0x217000 0x1000>; 124*3cb36d56SBhargav Joshi interrupts = <92>; 125*3cb36d56SBhargav Joshi 126*3cb36d56SBhargav Joshi #address-cells = <1>; 127*3cb36d56SBhargav Joshi #size-cells = <0>; 128*3cb36d56SBhargav Joshi 129*3cb36d56SBhargav Joshi port@0 { 130*3cb36d56SBhargav Joshi reg = <0>; 131*3cb36d56SBhargav Joshi #address-cells = <1>; 132*3cb36d56SBhargav Joshi #size-cells = <0>; 133*3cb36d56SBhargav Joshi 134*3cb36d56SBhargav Joshi vpif_input_ch0: endpoint@0 { 135*3cb36d56SBhargav Joshi reg = <0>; 136*3cb36d56SBhargav Joshi bus-width = <8>; 137*3cb36d56SBhargav Joshi remote-endpoint = <&composite_in>; 138*3cb36d56SBhargav Joshi }; 139*3cb36d56SBhargav Joshi 140*3cb36d56SBhargav Joshi vpif_input_ch1: endpoint@1 { 141*3cb36d56SBhargav Joshi reg = <1>; 142*3cb36d56SBhargav Joshi bus-width = <8>; 143*3cb36d56SBhargav Joshi data-shift = <8>; 144*3cb36d56SBhargav Joshi }; 145*3cb36d56SBhargav Joshi }; 146*3cb36d56SBhargav Joshi 147*3cb36d56SBhargav Joshi port@1 { 148*3cb36d56SBhargav Joshi reg = <1>; 149*3cb36d56SBhargav Joshi 150*3cb36d56SBhargav Joshi vpif_output_ch0: endpoint { 151*3cb36d56SBhargav Joshi bus-width = <8>; 152*3cb36d56SBhargav Joshi remote-endpoint = <&composite_out>; 153*3cb36d56SBhargav Joshi }; 154*3cb36d56SBhargav Joshi }; 155*3cb36d56SBhargav Joshi }; 156*3cb36d56SBhargav Joshi 157*3cb36d56SBhargav Joshi - | 158*3cb36d56SBhargav Joshi vpif@217000 { 159*3cb36d56SBhargav Joshi compatible = "ti,da850-vpif"; 160*3cb36d56SBhargav Joshi reg = <0x217000 0x1000>; 161*3cb36d56SBhargav Joshi interrupts = <92>; 162*3cb36d56SBhargav Joshi 163*3cb36d56SBhargav Joshi port { 164*3cb36d56SBhargav Joshi vpif_ch0: endpoint { 165*3cb36d56SBhargav Joshi bus-width = <16>; 166*3cb36d56SBhargav Joshi }; 167*3cb36d56SBhargav Joshi }; 168*3cb36d56SBhargav Joshi }; 169