Documentation / devicetree / bindings / media / ti,da850-vpif.yaml


Based on kernel version 7.3. Page generated on 2026-10-19 13:17 EDT.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/ti,da850-vpif.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments DA850/AM18x Video Port Interface (VPIF)

maintainers:
  - Lad, Prabhakar <prabhakar.csengg@gmail.com>

description:
  The Video Port Interface (VPIF) is the primary component for video capture
  and display on the DA850/AM18x family of TI DaVinci/Sitara SoCs.
 
  TI Document reference:- SPRUH82C, Chapter 35
  https://www.ti.com/lit/pdf/spruh82

properties:
  compatible:
    const: ti,da850-vpif

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    maxItems: 1
 
  '#address-cells':
    const: 1
 
  '#size-cells':
    const: 0

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    unevaluatedProperties: false
    description:
      VPIF port when the bus is configured as a single 16-bit input

    properties:
      endpoint:
        $ref: video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          bus-width:
            enum: [8, 16]

patternProperties:
  ^port@[0-1]$:
    $ref: /schemas/graph.yaml#/$defs/port-base
    unevaluatedProperties: false
    description:
      VPIF has a 16-bit parallel bus input, supporting 2 8-bit channels or a
      single 16-bit channel. It should contain one or two port child nodes
      with child 'endpoint' node. If there are two ports then port@0 must
      describe the input and port@1 output channels.

    properties:
      endpoint:
        $ref: video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          bus-width:
            enum: [8, 16]

      endpoint@0:
        $ref: video-interfaces.yaml#
        unevaluatedProperties: false
        description:
          First 8-bit channel using the lower data lines [7:0].

        properties:
          bus-width:
            const: 8

          data-shift:
            const: 0

      endpoint@1:
        $ref: video-interfaces.yaml#
        unevaluatedProperties: false
        description:
          Second 8-bit channel using the upper data lines [15:8].

        properties:
          bus-width:
            const: 8

          data-shift:
            const: 8

    anyOf:
      - properties:
          endpoint@0: false
          endpoint@1: false
      - properties:
          endpoint: false

required:
  - compatible
  - reg
  - interrupts

oneOf:
  - properties:
      port@0: false
      port@1: false
  - properties:
      port: false

additionalProperties: false

examples:
  - |
    vpif@217000 {
        compatible = "ti,da850-vpif";
        reg = <0x217000 0x1000>;
        interrupts = <92>;
 
        #address-cells = <1>;
        #size-cells = <0>;
 
        port@0 {
            reg = <0>;
            #address-cells = <1>;
            #size-cells = <0>;
 
            vpif_input_ch0: endpoint@0 {
                reg = <0>;
                bus-width = <8>;
                remote-endpoint = <&composite_in>;
            };
 
            vpif_input_ch1: endpoint@1 {
                reg = <1>;
                bus-width = <8>;
                data-shift = <8>;
            };
        };
 
        port@1 {
            reg = <1>;
 
            vpif_output_ch0: endpoint {
                bus-width = <8>;
                remote-endpoint = <&composite_out>;
            };
        };
    };

  - |
    vpif@217000 {
        compatible = "ti,da850-vpif";
        reg = <0x217000 0x1000>;
        interrupts = <92>;
 
        port {
            vpif_ch0: endpoint {
                bus-width = <16>;
            };
        };
    };