- Add Krzysztof Kozlowski as co-maintainer for DT bindings providing much needed help. - DT schema validation now takes DTB files as input rather than intermediate YAML files. This decouples the validation from the source level syntax information. There's a bunch of schema fixes as a result of switching to DTB based validation which exposed some errors and incomplete schemas and examples. - Kbuild improvements to explicitly warn users running 'make dt_binding_check' on missing yamllint - Expand DT_SCHEMA_FILES kbuild variable to take just a partial filename or path instead of the full path to 1 file. - Convert various bindings to schema format: mscc,vsc7514-switch, multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma, msm/mdp4, rda,8810pl-uart - New schemas for u-boot environment variable partition, TI clksel - New compatible strings for Renesas RZ/V2L SoC - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated HiSilicon - Add/fix schemas for QEMU Arm 'virt' machine - Drop unused of_alias_get_alias_list() function - Add a script to check DT unittest EXPECT message output. Pass messages also now print by default at PR_INFO level to help test automation. -----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmI8s64QHHJvYmhAa2Vy bmVsLm9yZwAKCRD6+121jbxhwx3tD/4j56NE+aLkL636+I8tGFm3r+r6uLLT4SWh zDuiX3MP9OKfhJw43TjjURLwX5adBnG3nn505IXcAeiMRgEiciOpSa12w0mXyjMX QgVOcoaI3H2GBMEddJRo1PLTM/K5sYzZxAKLB827xoOk4mGNA0ZBAHvlB3W+yLE5 CE5yTaFoL4EMXuhWMtMrMlG1PQrbO3FpQ2DHBKrpxHPJmnHLk3c0YtMSTHGQnWbN AxT3S6RSsOLwLzZAXi2AlswqY82n5KtUf/RBrYi8rdr/xnIsCfMeXxafkP2Hyxkq L9RfKVn05c0LRtO1Eh8kYr+lmYmcWz/SIdJZXzpviIgE9MJapCAk0blBZ4S/FH0B EVGB1JkwCZFck6DBmkNJxAwR0iQOGWkJIkn6iBPNF0dHp58eE6adaXjhFH3uBEHk dXFaxPlvZ3P/Q2I/vmQ//m5tZMyjeCY2BlVYpkUJMOFfN26MIGHUmUlLnovLDqu4 lYgZG4V244uYzALLbURpbp+5dlPH/PL2gxvJJNqTS+/hXktQx1XnML4wD+xfJ4nT OY5DD7Z+KGBrdsMtxkFtIFvKD63E2gtAR5RZO0J/txlzhW7Wg6fJbhJZeRFhZKmN GAfud2s6rliyygByBL4ea50DSLLQpc/9HZtFmZ3NTILM6NbUR74sHt+1EZ1hee+M LaNsSscHuQ== =g1li -----END PGP SIGNATURE----- Merge tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - Add Krzysztof Kozlowski as co-maintainer for DT bindings providing much needed help. - DT schema validation now takes DTB files as input rather than intermediate YAML files. This decouples the validation from the source level syntax information. There's a bunch of schema fixes as a result of switching to DTB based validation which exposed some errors and incomplete schemas and examples. - Kbuild improvements to explicitly warn users running 'make dt_binding_check' on missing yamllint - Expand DT_SCHEMA_FILES kbuild variable to take just a partial filename or path instead of the full path to 1 file. - Convert various bindings to schema format: mscc,vsc7514-switch, multiple GNSS bindings, ahci-platform, i2c-at91, multiple UFS bindings, cortina,gemini-sata-bridge, cortina,gemini-ethernet, Atmel SHA, Atmel TDES, Atmel AES, armv7m-systick, Samsung Exynos display subsystem, nuvoton,npcm7xx-timer, samsung,s3c2410-i2c, zynqmp_dma, msm/mdp4, rda,8810pl-uart - New schemas for u-boot environment variable partition, TI clksel - New compatible strings for Renesas RZ/V2L SoC - Vendor prefixes for Xen, HPE, deprecated Synopsys, deprecated HiSilicon - Add/fix schemas for QEMU Arm 'virt' machine - Drop unused of_alias_get_alias_list() function - Add a script to check DT unittest EXPECT message output. Pass messages also now print by default at PR_INFO level to help test automation. * tag 'devicetree-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (96 commits) dt-bindings: kbuild: Make DT_SCHEMA_LINT a recursive variable dt-bindings: nvmem: add U-Boot environment variables binding dt-bindings: ufs: qcom: Add SM6350 compatible string dt-bindings: dmaengine: sifive,fu540-c000: include generic schema dt-bindings: gpio: pca95xx: drop useless consumer example Revert "of: base: Introduce of_alias_get_alias_list() to check alias IDs" dt-bindings: virtio,mmio: Allow setting devices 'dma-coherent' dt-bindings: gnss: Add two more chips dt-bindings: gnss: Rewrite sirfstar binding in YAML dt-bindings: gnss: Modify u-blox to use common bindings dt-bindings: gnss: Rewrite common bindings in YAML dt-bindings: ata: ahci-platform: Add rk3568-dwc-ahci compatible dt-bindings: ata: ahci-platform: Add power-domains property dt-bindings: ata: ahci-platform: Convert DT bindings to yaml dt-bindings: kbuild: Use DTB files for validation dt-bindings: kbuild: Pass DT_SCHEMA_FILES to dt-validate dt-bindings: Add QEMU virt machine compatible dt-bindings: arm: Convert QEMU fw-cfg to DT schema dt-bindings: i2c: at91: Add SAMA7G5 compatible strings list dt-bindings: i2c: convert i2c-at91 to json-schema ...
122 lines
3.7 KiB
YAML
122 lines
3.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iommu/renesas,ipmmu-vmsa.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Renesas VMSA-Compatible IOMMU
|
|
|
|
maintainers:
|
|
- Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
|
|
|
|
description:
|
|
The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables.
|
|
It provides address translation for bus masters outside of the CPU, each
|
|
connected to the IPMMU through a port called micro-TLB.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- renesas,ipmmu-r8a73a4 # R-Mobile APE6
|
|
- renesas,ipmmu-r8a7742 # RZ/G1H
|
|
- renesas,ipmmu-r8a7743 # RZ/G1M
|
|
- renesas,ipmmu-r8a7744 # RZ/G1N
|
|
- renesas,ipmmu-r8a7745 # RZ/G1E
|
|
- renesas,ipmmu-r8a7790 # R-Car H2
|
|
- renesas,ipmmu-r8a7791 # R-Car M2-W
|
|
- renesas,ipmmu-r8a7793 # R-Car M2-N
|
|
- renesas,ipmmu-r8a7794 # R-Car E2
|
|
- const: renesas,ipmmu-vmsa # R-Mobile APE6 or R-Car Gen2 or RZ/G1
|
|
- items:
|
|
- enum:
|
|
- renesas,ipmmu-r8a774a1 # RZ/G2M
|
|
- renesas,ipmmu-r8a774b1 # RZ/G2N
|
|
- renesas,ipmmu-r8a774c0 # RZ/G2E
|
|
- renesas,ipmmu-r8a774e1 # RZ/G2H
|
|
- renesas,ipmmu-r8a7795 # R-Car H3
|
|
- renesas,ipmmu-r8a7796 # R-Car M3-W
|
|
- renesas,ipmmu-r8a77961 # R-Car M3-W+
|
|
- renesas,ipmmu-r8a77965 # R-Car M3-N
|
|
- renesas,ipmmu-r8a77970 # R-Car V3M
|
|
- renesas,ipmmu-r8a77980 # R-Car V3H
|
|
- renesas,ipmmu-r8a77990 # R-Car E3
|
|
- renesas,ipmmu-r8a77995 # R-Car D3
|
|
- renesas,ipmmu-r8a779a0 # R-Car V3U
|
|
- items:
|
|
- enum:
|
|
- renesas,ipmmu-r8a779f0 # R-Car S4-8
|
|
- const: renesas,rcar-gen4-ipmmu-vmsa # R-Car Gen4
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
description:
|
|
Specifiers for the MMU fault interrupts. Not required for cache IPMMUs.
|
|
items:
|
|
- description: non-secure mode
|
|
- description: secure mode if supported
|
|
|
|
'#iommu-cells':
|
|
const: 1
|
|
description:
|
|
The number of the micro-TLB that the device is connected to.
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
renesas,ipmmu-main:
|
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
items:
|
|
- items:
|
|
- description: phandle to main IPMMU
|
|
- description: the interrupt bit number associated with the particular
|
|
cache IPMMU device. The interrupt bit number needs to match the main
|
|
IPMMU IMSSTR register. Only used by cache IPMMU instances.
|
|
description:
|
|
Reference to the main IPMMU phandle plus 1 cell. The cell is
|
|
the interrupt bit number associated with the particular cache IPMMU
|
|
device. The interrupt bit number needs to match the main IPMMU IMSSTR
|
|
register. Only used by cache IPMMU instances.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- '#iommu-cells'
|
|
|
|
oneOf:
|
|
- required:
|
|
- interrupts
|
|
- required:
|
|
- renesas,ipmmu-main
|
|
|
|
additionalProperties: false
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
not:
|
|
contains:
|
|
const: renesas,ipmmu-vmsa
|
|
then:
|
|
required:
|
|
- power-domains
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/r8a7791-cpg-mssr.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/power/r8a7791-sysc.h>
|
|
|
|
ipmmu_mx: iommu@fe951000 {
|
|
compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa";
|
|
reg = <0xfe951000 0x1000>;
|
|
interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
|
|
#iommu-cells = <1>;
|
|
};
|