mirror of
https://github.com/torvalds/linux.git
synced 2026-05-02 05:22:49 -04:00
Pull devicetree updates from Rob Herring:
"Bindings:
- Convert Qcom IOMMU, Amlogic timer, Freescale sec-v4.0, Toshiba
TC358764 display bridge, Parade PS8622 display bridge, and Xilinx
FPGA bindings to DT schema format
- Add qdu1000 and sa8775p SoC support to Qcom PDC interrupt
controller
- Add MediaTek MT8365 UART and SYSIRQ bindings
- Add Arm Cortex-A78C and X1C core compatibles
- Add vendor prefix for Novatek
- Remove bindings for stih415, sti416, stid127 platforms
- Drop uneeded quotes in schema files. This is preparation for
yamllint checking quoting for us.
- Add missing (unevaluated|additional)Properties constraints on child
node schemas
- Clean-up schema comments formatting
- Fix I2C and SPI node bus names in schema examples
- Clean-up some display compatibles schema syntax
- Fix incorrect references to lvds.yaml
- Gather all cache controller bindings in a common directory
DT core:
- Convert unittest to new void .remove platform device hook
- kerneldoc fixes for DT address of_pci_range_to_resource/
of_address_to_resource functions"
* tag 'devicetree-for-6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (46 commits)
dt-bindings: rng: Drop unneeded quotes
dt-bindings: arm/soc: mediatek: Drop unneeded quotes
dt-bindings: soc: qcom: Drop unneeded quotes
dt-bindings: i2c: samsung: Fix 'deprecated' value
dt-bindings: display: Fix lvds.yaml references
dt-bindings: display: simplify compatibles syntax
dt-bindings: display: mediatek: simplify compatibles syntax
dt-bindings: drm/bridge: ti-sn65dsi86: Fix the video-interfaces.yaml references
dt-bindings: timer: Drop unneeded quotes
dt-bindings: interrupt-controller: qcom,pdc: document qcom,qdu1000-pdc
dt-bindings: interrupt-controller: qcom-pdc: add compatible for sa8775p
dt-bindings: reset: remove stih415/stih416 reset
dt-bindings: net: dwmac: sti: remove stih415/sti416/stid127
dt-bindings: irqchip: sti: remove stih415/stih416 and stid127
dt-bindings: iommu: Convert QCOM IOMMU to YAML
dt-bindings: irqchip: ti,sci-inta: Add optional power-domains property
dt-bindings: Add missing (unevaluated|additional)Properties on child node schemas
of: address: Reshuffle to remove forward declarations
of: address: Fix documented return value of of_pci_range_to_resource()
of: address: Document return value of of_address_to_resource()
...
358 lines
10 KiB
YAML
358 lines
10 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only
|
|
# Copyright (C) 2020 Renesas Electronics Corp.
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/media/renesas,vin.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Renesas R-Car Video Input (VIN)
|
|
|
|
maintainers:
|
|
- Niklas Söderlund <niklas.soderlund@ragnatech.se>
|
|
|
|
description:
|
|
The R-Car Video Input (VIN) device provides video input capabilities for the
|
|
Renesas R-Car family of devices.
|
|
|
|
Each VIN instance has a single parallel input that supports RGB and YUV video,
|
|
with both external synchronization and BT.656 synchronization for the latter.
|
|
Depending on the instance the VIN input is connected to external SoC pins, or
|
|
on Gen3 and RZ/G2 platforms to a CSI-2 receiver.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- renesas,vin-r8a7742 # RZ/G1H
|
|
- renesas,vin-r8a7743 # RZ/G1M
|
|
- renesas,vin-r8a7744 # RZ/G1N
|
|
- renesas,vin-r8a7745 # RZ/G1E
|
|
- renesas,vin-r8a77470 # RZ/G1C
|
|
- renesas,vin-r8a7790 # R-Car H2
|
|
- renesas,vin-r8a7791 # R-Car M2-W
|
|
- renesas,vin-r8a7792 # R-Car V2H
|
|
- renesas,vin-r8a7793 # R-Car M2-N
|
|
- renesas,vin-r8a7794 # R-Car E2
|
|
- const: renesas,rcar-gen2-vin # Generic R-Car Gen2 or RZ/G1
|
|
|
|
- items:
|
|
- enum:
|
|
- renesas,vin-r8a774a1 # RZ/G2M
|
|
- renesas,vin-r8a774b1 # RZ/G2N
|
|
- renesas,vin-r8a774c0 # RZ/G2E
|
|
- renesas,vin-r8a774e1 # RZ/G2H
|
|
- renesas,vin-r8a7778 # R-Car M1
|
|
- renesas,vin-r8a7779 # R-Car H1
|
|
- renesas,vin-r8a7795 # R-Car H3
|
|
- renesas,vin-r8a7796 # R-Car M3-W
|
|
- renesas,vin-r8a77961 # R-Car M3-W+
|
|
- renesas,vin-r8a77965 # R-Car M3-N
|
|
- renesas,vin-r8a77970 # R-Car V3M
|
|
- renesas,vin-r8a77980 # R-Car V3H
|
|
- renesas,vin-r8a77990 # R-Car E3
|
|
- renesas,vin-r8a77995 # R-Car D3
|
|
- renesas,vin-r8a779a0 # R-Car V3U
|
|
- renesas,vin-r8a779g0 # R-Car V4H
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
# The per-board settings for Gen2 and RZ/G1 platforms:
|
|
port:
|
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
|
unevaluatedProperties: false
|
|
description:
|
|
A node containing a parallel input
|
|
|
|
properties:
|
|
endpoint:
|
|
$ref: video-interfaces.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
hsync-active:
|
|
description:
|
|
If both HSYNC and VSYNC polarities are not specified, embedded
|
|
synchronization is selected.
|
|
default: 1
|
|
|
|
vsync-active:
|
|
description:
|
|
If both HSYNC and VSYNC polarities are not specified, embedded
|
|
synchronization is selected.
|
|
default: 1
|
|
|
|
field-active-even: true
|
|
|
|
bus-width: true
|
|
|
|
data-shift: true
|
|
|
|
data-enable-active:
|
|
description: Polarity of CLKENB signal
|
|
default: 1
|
|
|
|
pclk-sample: true
|
|
|
|
data-active: true
|
|
|
|
# The per-board settings for Gen3 and RZ/G2 platforms:
|
|
renesas,id:
|
|
description: VIN channel number
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
minimum: 0
|
|
maximum: 31
|
|
|
|
ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
|
|
properties:
|
|
port@0:
|
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
|
unevaluatedProperties: false
|
|
description:
|
|
Input port node, single endpoint describing a parallel input source.
|
|
|
|
properties:
|
|
endpoint:
|
|
$ref: video-interfaces.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
hsync-active:
|
|
description:
|
|
If both HSYNC and VSYNC polarities are not specified, embedded
|
|
synchronization is selected.
|
|
default: 1
|
|
|
|
vsync-active:
|
|
description:
|
|
If both HSYNC and VSYNC polarities are not specified, embedded
|
|
synchronization is selected.
|
|
default: 1
|
|
|
|
field-active-even: true
|
|
|
|
bus-width: true
|
|
|
|
data-shift: true
|
|
|
|
data-enable-active:
|
|
description: Polarity of CLKENB signal
|
|
default: 1
|
|
|
|
pclk-sample: true
|
|
|
|
data-active: true
|
|
|
|
port@1:
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
description:
|
|
Input port node, multiple endpoints describing all the R-Car CSI-2
|
|
modules connected the VIN.
|
|
|
|
properties:
|
|
endpoint@0:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to CSI20.
|
|
|
|
endpoint@1:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to CSI21.
|
|
|
|
endpoint@2:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to CSI40.
|
|
|
|
endpoint@3:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to CSI41.
|
|
|
|
anyOf:
|
|
- required:
|
|
- endpoint@0
|
|
- required:
|
|
- endpoint@1
|
|
- required:
|
|
- endpoint@2
|
|
- required:
|
|
- endpoint@3
|
|
|
|
port@2:
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
description:
|
|
Input port node, multiple endpoints describing all the R-Car ISP
|
|
modules connected the VIN.
|
|
|
|
properties:
|
|
endpoint@0:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to ISP0.
|
|
|
|
endpoint@1:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to ISP1.
|
|
|
|
endpoint@2:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to ISP2.
|
|
|
|
endpoint@3:
|
|
$ref: /schemas/graph.yaml#/properties/endpoint
|
|
description: Endpoint connected to ISP3.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- power-domains
|
|
|
|
allOf:
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- renesas,vin-r8a7778
|
|
- renesas,vin-r8a7779
|
|
then:
|
|
required:
|
|
- resets
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- renesas,vin-r8a7778
|
|
- renesas,vin-r8a7779
|
|
- renesas,rcar-gen2-vin
|
|
then:
|
|
required:
|
|
- port
|
|
else:
|
|
required:
|
|
- renesas,id
|
|
- ports
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
# Device node example for Gen2 platform
|
|
- |
|
|
#include <dt-bindings/clock/r8a7790-cpg-mssr.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/power/r8a7790-sysc.h>
|
|
|
|
vin1: vin@e6ef1000 {
|
|
compatible = "renesas,vin-r8a7790",
|
|
"renesas,rcar-gen2-vin";
|
|
reg = <0xe6ef1000 0x1000>;
|
|
interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cpg CPG_MOD 810>;
|
|
power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
|
|
resets = <&cpg 810>;
|
|
|
|
port {
|
|
vin1ep0: endpoint {
|
|
remote-endpoint = <&adv7180>;
|
|
bus-width = <8>;
|
|
};
|
|
};
|
|
};
|
|
|
|
# Device node example for Gen3 platform with only CSI-2
|
|
- |
|
|
#include <dt-bindings/clock/r8a7795-cpg-mssr.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/power/r8a7795-sysc.h>
|
|
|
|
vin0: video@e6ef0000 {
|
|
compatible = "renesas,vin-r8a7795";
|
|
reg = <0xe6ef0000 0x1000>;
|
|
interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cpg CPG_MOD 811>;
|
|
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
|
resets = <&cpg 811>;
|
|
renesas,id = <0>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
reg = <1>;
|
|
|
|
vin0csi20: endpoint@0 {
|
|
reg = <0>;
|
|
remote-endpoint= <&csi20vin0>;
|
|
};
|
|
vin0csi40: endpoint@2 {
|
|
reg = <2>;
|
|
remote-endpoint= <&csi40vin0>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
# Device node example for Gen3 platform with CSI-2 and parallel
|
|
- |
|
|
#include <dt-bindings/clock/r8a77970-cpg-mssr.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/power/r8a77970-sysc.h>
|
|
|
|
vin2: video@e6ef2000 {
|
|
compatible = "renesas,vin-r8a77970";
|
|
reg = <0xe6ef2000 0x1000>;
|
|
interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cpg CPG_MOD 809>;
|
|
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
|
resets = <&cpg 809>;
|
|
renesas,id = <2>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
vin2_in: endpoint {
|
|
remote-endpoint = <&adv7612_out>;
|
|
hsync-active = <0>;
|
|
vsync-active = <0>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
reg = <1>;
|
|
|
|
vin2csi40: endpoint@2 {
|
|
reg = <2>;
|
|
remote-endpoint = <&csi40vin2>;
|
|
};
|
|
};
|
|
};
|
|
};
|