Files
linux/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-csi.yaml
Svyatoslav Ryhel e7dc9c3a6f dt-bindings: display: tegra: Document Tegra20 and Tegra30 CSI
Document CSI HW block found in Tegra20 and Tegra30 SoC.

The #nvidia,mipi-calibrate-cells is not an introduction of property, such
property already exists in nvidia,tegra114-mipi.yaml and is used in
multiple device trees. In case of Tegra30 and Tegra20 CSI block combines
mipi calibration function and CSI function, in Tegra114+ mipi calibration
got a dedicated hardware block which is already supported. This property
here is used to align with mipi-calibration logic used by Tegra114+.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2025-11-14 15:54:57 +01:00

139 lines
2.9 KiB
YAML

# 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