Files
linux-nv-oot/Documentation/devicetree/bindings/pci/controller/pci-host-ecam-generic.yaml
Mark Mendez a2ee9f655f 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>
2025-07-24 10:19:12 +00:00

208 lines
6.6 KiB
YAML

# 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>;
};