PCT: Create devicetree validation schema

This is the output of the automated scripts created
to parse the dtb and dts files congruently

Jira ESDP-27666

Change-Id: Ic82a3f813bcbe6e78ba5f9b68875293c5d4bc6d7
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3274878
Tested-by: Mark Mendez <mmendez@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
This commit is contained in:
Mark Mendez
2024-12-29 12:08:14 -08:00
committed by Jon Hunter
parent c4d1462fd6
commit a2ee9f655f
172 changed files with 22145 additions and 0 deletions

View File

@@ -0,0 +1,95 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/its@8146040000/arm,gic-v3-its.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = arm,gic-v3-its is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/pci/controller/pcie-iproc.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its-platform-msi.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its-pci-msi.c
The following nodes use this compatibility
- /interrupt-controller@8146000000/its@8146040000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- arm,gic-v3-its
required:
- compatible
properties:
msi-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
'#msi-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x46040000
maximum: 0x46040000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40000
maximum: 0x40000
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
required:
- compatible
- reg
examples:
- |
its@8146040000 {
compatible = "arm,gic-v3-its";
status = "disabled";
msi-controller;
reg = <0x81 0x46040000 0x0 0x40000>;
numa-node-id = <0>;
};

View File

@@ -0,0 +1,153 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller@8146000000/arm,gic-v3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = arm,gic-v3 is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/pci/controller/pcie-iproc.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its-fsl-mc-msi.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its-platform-msi.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-ti-sci-inta.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3-its-pci-msi.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-gic-v3.c
- <TOP>/kernel/kernel-oot/drivers/irqchip/irq-ti-sci-intr.c
The following nodes use this compatibility
- /interrupt-controller@8146000000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- arm,gic-v3
required:
- compatible
properties:
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
'#redistributor-regions':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
interrupt-controller:
$ref: "/schemas/types.yaml#/definitions/flag"
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0x81
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x46000000
maximum: 0x46080000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x400000
interrupt-parent:
$ref: "/schemas/types.yaml#/definitions/uint32"
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x9
maximum: 0x9
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8
maximum: 0x8
redistributor-stride:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x40000
maximum: 0x40000
required:
- compatible
- reg
- interrupts
examples:
- |
interrupt-controller@8146000000 {
compatible = "arm,gic-v3";
status = "disabled";
#interrupt-cells = <3>;
#address-cells = <2>;
#size-cells = <2>;
interrupt-controller;
reg = <0x81 0x46000000 0x0 0x010000>,
<0x81 0x46080000 0x0 0x00400000>;
interrupt-parent = <&gic>;
interrupts = <GIC_PPI 9 8>;
redistributor-stride = <0x00 0x40000>;
ranges;
};

View File

@@ -0,0 +1,207 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/pcie@a8b0000000/pci-host-ecam-generic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = pci-host-ecam-generic is mentioned in the following drivers
- <TOP>/kernel/kernel-oot/drivers/pci/controller/pci-host-generic.c
The following nodes use this compatibility
- /bus@0/pcie@a8b0000000
- /bus@0/pcie@b0b0000000
- /bus@0/pcie@b8b0000000
- /bus@0/pcie@c0b0000000
- /bus@0/pcie@c8b0000000
- /bus@0/pcie@d0b0000000
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- pci-host-ecam-generic
required:
- compatible
properties:
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa8
maximum: 0xd0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8520000
maximum: 0xb0000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- ecam
- xdma
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
device_type:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- pci
linux,pci-domain:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x5
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
interrupt-map-mask:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
iommu-map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x50000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
msi-map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x110000
maximum: 0x210000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
bus-range:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xff
maximum: 0xff
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
ats-supported:
$ref: "/schemas/types.yaml#/definitions/flag"
required:
- compatible
- reg
examples:
- |
pcie@a8b0000000 {
status = "disabled";
compatible = "pci-host-ecam-generic";
reg = <0xa8 0xb0000000 0x0 0x10000000>;
reg-names = "ecam";
#address-cells = <0x3>;
#size-cells = <0x2>;
device_type = "pci";
linux,pci-domain = <0x1>;
#interrupt-cells = <0x1>;
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 GIC_SPI 0x38c IRQ_TYPE_LEVEL_HIGH0x0 0x0 0x0 0x2 &gic 0x0 0x0 GIC_SPI 0x38d IRQ_TYPE_LEVEL_HIGH0x0 0x0 0x0 0x3 &gic 0x0 0x0 GIC_SPI 0x38e IRQ_TYPE_LEVEL_HIGH0x0 0x0 0x0 0x4 &gic 0x0 0x0 GIC_SPI 0x38f IRQ_TYPE_LEVEL_HIGH>;
iommu-map = <0x0 &smmu1_mmu 0x10000 0x10000>;
dma-coherent;
msi-map = <0x0 &its 0x110000 0x10000>;
bus-range = <0x0 0xff>;
ranges = <0x82000000 0x00 0x28000000 0x00 0x28000000 0x0 0x080000000xc3000000 0xa8 0xc0000000 0xa8 0xc0000000 0x7 0xc00000000x81000000 0xa8 0x82000000 0xa8 0x82000000 0x0 0x00200000>;
numa-node-id = <0x0>;
};

View File

@@ -0,0 +1,230 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/pcie-ep@a808420000/nvidia,tegra264-pcie-ep.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-pcie-ep is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/pci/controller/private-soc/pcie-tegra264-ep.c
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-pcie-ep
required:
- compatible
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-pcie-ep
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xa8
maximum: 0xc8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8420000
maximum: 0x80000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x8
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x10000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- xal
- xal-ep-dm
- xtl-ep-pri
- xtl-ep-cfg
- xdma
- xpl
- addr_space
interrupts:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Interrupts are give by a tuple of 3 values:
- interrupt specifier (GIC_SPI = 0, GIC_PPI = 1)
definitions in dt-bindings/interrupt-controller/arm-gic.h
- interrupt number
- trigger type (rising edge, falling edge, both, etc)
definitions in dt-bindings/interrupt-controller/irq.h
items:
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x392
maximum: 0x3ad
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x4
maximum: 0x4
interrupt-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- intr
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
pinctrl-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- default
pinctrl-0:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1d
maximum: 0x1d
reset-gpios:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 3
maxItems: 3
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xb
maximum: 0x1b
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
iommus:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x20000
maximum: 0x50000
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
msi-parent:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x120000
maximum: 0x150000
linux,pci-domain:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x5
nvidia,bpmp:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x5
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
nvidia,pex-prsnt-gpios:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1e
required:
- compatible
- reg
- interrupts
- interrupt-names
examples:
- |
pcie-ep@a808420000 {
status = "disabled";
compatible = "nvidia,tegra264-pcie-ep";
reg = <0xa8 0x08420000 0x0 0x00004000>,
<0xa8 0x08500000 0x0 0x00001000>,
<0xa8 0x08510000 0x0 0x00001000>,
<0xa8 0x08511000 0x0 0x00001000>,
<0xa8 0x08520000 0x0 0x00010000>,
<0xa8 0x08430000 0x0 0x00010000>,
<0xb0 0x80000000 0x8 0x00000000>;
reg-names = "xal, xal-ep-dm, xtl-ep-pri, xtl-ep-cfg, xdma, xpl, addr_space";
interrupts = <GIC_SPI 0x392 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "intr";
#address-cells = <0x3>;
#size-cells = <0x2>;
pinctrl-names = "default";
pinctrl-0 = <&pex_rst_c2_in_state>;
reset-gpios = <&gpio_uphy TEGRA264_UPHY_GPIO(B3) GPIO_ACTIVE_LOW>;
iommus = <&smmu1_mmu 0x20000>;
dma-coherent;
msi-parent = <&its 0x120000>;
linux,pci-domain = <0x2>;
nvidia,bpmp = <&bpmp 0x2>;
numa-node-id = <0x0>;
};

View File

@@ -0,0 +1,233 @@
# Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it
# under the terms and conditions of the GNU General Public License,
# version 2, as published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
%YAML 1.2
---
$id: http://devicetree.org/schemas/pcie@810c000000/nvidia,tegra264-pcie.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: FIXME -- add title
maintainers:
- FIXME -- add maintainers
description: |
the compatability = nvidia,tegra264-pcie is mentioned in the following drivers
- <TOP>/kernel/nvidia-oot/drivers/pci/controller/private-soc/pcie-tegra264-ep.c
- <TOP>/kernel/nvidia-oot/drivers/pci/controller/private-soc/pcie-tegra264.c
select:
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-pcie
required:
- compatible
properties:
compatible:
minItems: 1
maxItems: 1
items:
enum:
- nvidia,tegra264-pcie
reg:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
description: |
Registers are given by a tuple of two values:
- register address:
- register block size.
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x81
maximum: 0xd0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x8400000
maximum: 0xb0000000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1000
maximum: 0x10000000
reg-names:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- xal
- xtl
- xtl-pri
- ecam
- xpl
- xdma
'#address-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x3
maximum: 0x3
'#size-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x2
maximum: 0x2
device_type:
$ref: "/schemas/types.yaml#/definitions/string-array"
items:
enum:
- pci
linux,pci-domain:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x5
'#interrupt-cells':
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x1
maximum: 0x1
interrupt-map-mask:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x7
maximum: 0x7
iommu-map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x50000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
dma-coherent:
$ref: "/schemas/types.yaml#/definitions/flag"
msi-map:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 4
maxItems: 4
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x110000
maximum: 0x210000
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x10000
maximum: 0x10000
bus-range:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0xff
maximum: 0xff
nvidia,bpmp:
$ref: "/schemas/types.yaml#/definitions/uint32-matrix"
items:
minItems: 2
maxItems: 2
items:
- $ref: "/schemas/types.yaml#/definitions/uint32"
- $ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x5
numa-node-id:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x0
maximum: 0x0
ats-supported:
$ref: "/schemas/types.yaml#/definitions/flag"
nvidia,host1x:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0x19
maximum: 0x19
required:
- compatible
- reg
examples:
- |
pcie@810c000000 {
status = "disabled";
compatible = "nvidia,tegra264-pcie";
reg = <0x81 0x0c000000 0x0 0x00004000>,
<0x81 0x0c004000 0x0 0x00001000>,
<0x81 0x0c005000 0x0 0x00001000>,
<0xd0 0xb0000000 0x0 0x10000000>;
reg-names = "xal, xtl, xtl-pri, ecam";
#address-cells = <0x3>;
#size-cells = <0x2>;
device_type = "pci";
linux,pci-domain = <0x0>;
#interrupt-cells = <0x1>;
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 GIC_SPI 0x9b IRQ_TYPE_LEVEL_HIGH0x0 0x0 0x0 0x2 &gic 0x0 0x0 GIC_SPI 0x9c IRQ_TYPE_LEVEL_HIGH0x0 0x0 0x0 0x3 &gic 0x0 0x0 GIC_SPI 0x9d IRQ_TYPE_LEVEL_HIGH0x0 0x0 0x0 0x4 &gic 0x0 0x0 GIC_SPI 0x9e IRQ_TYPE_LEVEL_HIGH>;
iommu-map = <0x0 &smmu2_mmu 0x10000 0x10000>;
dma-coherent;
msi-map = <0x0 &its 0x210000 0x10000>;
bus-range = <0x0 0xff>;
ranges = <0x82000000 0x00 0x20000000 0x00 0x20000000 0x0 0x080000000xc3000000 0xd0 0xc0000000 0xd0 0xc0000000 0x7 0xc00000000x81000000 0xd0 0x82000000 0xd0 0x82000000 0x0 0x00200000>;
nvidia,bpmp = <&bpmp 0x0>;
numa-node-id = <0x0>;
ats-supported;
nvidia,host1x = <&host1x>;
};