mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
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>
139 lines
2.9 KiB
YAML
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
|