Documentation / devicetree / bindings / display / tegra / nvidia,tegra20-csi.yaml


Based on kernel version 6.19. Page generated on 2026-02-12 08:38 EST.

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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-csi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NVIDIA Tegra20 CSI controller

maintainers:
  - Svyatoslav Ryhel <clamor95@gmail.com>

properties:
  compatible:
    enum:
      - nvidia,tegra20-csi
      - nvidia,tegra30-csi

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    items:
      - description: module clock
      - description: PAD A clock
      - description: PAD B clock

  clock-names:
    items:
      - const: csi
      - const: csia-pad
      - const: csib-pad

  avdd-dsi-csi-supply:
    description: DSI/CSI power supply. Must supply 1.2 V.

  power-domains:
    maxItems: 1
 
  "#nvidia,mipi-calibrate-cells":
    description:
      The number of cells in a MIPI calibration specifier. Should be 1.
      The single cell specifies an id of the pad that need to be
      calibrated for a given device. Valid pad ids for receiver would be
      0 for CSI-A; 1 for CSI-B; 2 for DSI-A and 3 for DSI-B.
    $ref: /schemas/types.yaml#/definitions/uint32
    const: 1
 
  "#address-cells":
    const: 1
 
  "#size-cells":
    const: 0

patternProperties:
  "^channel@[0-1]$":
    type: object
    description: channel 0 represents CSI-A and 1 represents CSI-B
    additionalProperties: false

    properties:
      reg:
        maximum: 1

      nvidia,mipi-calibrate:
        description: Should contain a phandle and a specifier specifying
          which pad is used by this CSI channel and needs to be calibrated.
        $ref: /schemas/types.yaml#/definitions/phandle-array
 
      "#address-cells":
        const: 1
 
      "#size-cells":
        const: 0

      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: port receiving the video stream from the sensor

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

            required:
              - data-lanes

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: port sending the video stream to the VI

    required:
      - reg
      - "#address-cells"
      - "#size-cells"
      - port@0
      - port@1

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - nvidia,tegra20-csi
    then:
      properties:
        clocks:
          maxItems: 1

        clock-names: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - nvidia,tegra30-csi
    then:
      properties:
        clocks:
          minItems: 3

        clock-names:
          minItems: 3

additionalProperties: false

required:
  - compatible
  - reg
  - clocks
  - power-domains
  - "#address-cells"
  - "#size-cells"
 
# see nvidia,tegra20-vi.yaml for an example