mirror of
https://github.com/torvalds/linux.git
synced 2024-12-17 08:31:39 +00:00
a70bb580bf
- Refine reserved memory nomap handling - Merge some PCI and non-PCI address handling implementations - Simplify of_address.h header ifdefs - Improve printk handling of some 64-bit types - Convert Arm ccree, Zynq FPGA, ZynqMP RTC, Arm VIC, adi,adv7511, TI AM56 PCI, Aspeed I2C, arm,sbsa-gwdt, MTD physmap, virtio-mmio, Arm SCMI, Arm/Amlogic SCPI, TI OMAP mailbox, NXP pcf8563/pcf85263/pcf85363, Mediatek RNG, Arm SCU, Arm TWD timer, Broadcom iProc PWM, Renesas TPU, Tegra20 EMC, MDIO GPIO, renesas,r9a06g032-sysctrl, renesas,emev2-smu, sysc-rmobile, linaro,optee-tz, and TI SCI bindings to DT schema - Convert mux and mux controller bindings to schema. This includes MDIO IIO, and I2C muxes. - Add Arm PL031 RTC binding schema - Add vendor prefixes for StarFive Technology Co. Ltd. and Insignal Ltd - Fix some stale doc references - Remove stale property-units.txt. Superseded by schema in dt-schema repo. - Fixes for 'unevaluatedProperties' handling (enabled with experimental json-schema support) - Drop redundant usage of minItems and maxItems across the tree - Update some examples to use bindings with a schema -----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmDfNTsQHHJvYmhAa2Vy bmVsLm9yZwAKCRD6+121jbxhwx/jD/0TG5A5clgwEA/0wKTLUK0OmRhTS4T9AjD2 NIgs+74YztwP1c49u6SXmSCD1wfyHl1dznmvXUn/gD9838gwYjHH4eZgG5weOwOy hQgEhUqZ3AJF24wEDAfkQX7KCh9rxO1Vifx+2ER+DXCc65kBxbwdBSUSgWSkN/fj UHRENdW37ORw4WLXELGYDRegvLktzCbPqwPWUBJy8+9or1/r2ZFN5Or6gG1J7HR5 jGiiKyB5O5E1GBtiCQaFoGl+uQG5/X2aSb7AMYbMnOTP+fr9YiTbcTjKwoMMurJW T56YUse0QZ7yK5umUMV17A2urrOg9Nnk7kj5Sf63UkOwVY5Xjx/TqIwBPZGXUTlK RdSIZXzzdv491pem1sHty6TjX3NFIe81aR9p7CZIigOa9AXj5PMcVHflq3SUDSuQ nCg2qf7E73307w5PNLSbkEFkR/g341pqwvwMmRDb9a68ZBwhylKKVdV0GzAdea8P ez1R0hJMJ/y5DqdC1KXOjLOR6zX+a3daLTPLsPKXeeKMsI/U4BXF3s5aoxBavkzU SLiZynost28oTlVX7K2fl4r7WocyMj4htywqerfeJVry+FVopFVNcwb/zowRSOpd o9xqpSXMXzBDB5eSQR331mOrUU5SxKhISmofH3U+MvF9D2/yNB1qMhMSAN9DBzOl mofZZWSIzg== =MDNZ -----END PGP SIGNATURE----- Merge tag 'devicetree-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - Refine reserved memory nomap handling - Merge some PCI and non-PCI address handling implementations - Simplify of_address.h header ifdefs - Improve printk handling of some 64-bit types - Convert adi,adv7511, Arm ccree, Arm SCMI, Arm SCU, Arm TWD timer, Arm VIC, arm,sbsa-gwdt, Arm/Amlogic SCPI, Aspeed I2C, Broadcom iProc PWM, linaro,optee-tz, MDIO GPIO, Mediatek RNG, MTD physmap, NXP pcf8563/pcf85263/pcf85363, Renesas TPU, renesas,emev2-smu, renesas,r9a06g032-sysctrl, sysc-rmobile, Tegra20 EMC, TI AM56 PCI, TI OMAP mailbox, TI SCI bindings, virtio-mmio, Zynq FPGA, and ZynqMP RTC to DT schema - Convert mux and mux controller bindings to schema. This includes MDIO IIO, and I2C muxes. - Add Arm PL031 RTC binding schema - Add vendor prefixes for StarFive Technology Co. Ltd. and Insignal Ltd - Fix some stale doc references - Remove stale property-units.txt. Superseded by schema in dt-schema repo. - Fixes for 'unevaluatedProperties' handling (enabled with experimental json-schema support) - Drop redundant usage of minItems and maxItems across the tree - Update some examples to use bindings with a schema * tag 'devicetree-for-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (83 commits) dt-bindings: Fix 'unevaluatedProperties' errors in DT graph users dt-bindings: display: renesas,du: Fix 'ports' reference dt-bindings: media: adv7180: Add missing video-interfaces.yaml reference dt-bindings: crypto: ccree: Convert to json-schema dt-bindings: fpga: zynq: convert bindings to YAML dt-bindings: rtc: zynqmp: convert bindings to YAML dt-bindings: interrupt-controller: Convert ARM VIC to json-schema of: of_reserved_mem: mark nomap memory instead of removing of: of_reserved_mem: only call memblock_free for normal reserved memory dt-bindings: Drop redundant minItems/maxItems dt-bindings: spmi: Correct 'reg' schema of: reserved-memory: Add stub for RESERVEDMEM_OF_DECLARE() dt-bindings: clk: vc5: Fix example dt-bindings: timer: renesas,tmu: add r8a779a0 TMU support dt-bindings: drm: bridge: adi,adv7511.txt: convert to yaml dt-bindings: PCI: ti,am65: Convert PCIe host/endpoint mode dt-bindings to YAML of: Remove superfluous casts when printing u64 values of: Fix truncation of memory sizes on 32-bit platforms dt-bindings: rtc: nxp,pcf8563: Absorb pcf85263/pcf85363 bindings dt-bindings: pwm: Use examples with documented/matching schema ...
357 lines
10 KiB
YAML
357 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
|
|
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
};
|