# 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 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