| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/pci/pci-ep-bus.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Common Properties for PCI MFD EP with Peripherals Addressable from BARs |
| |
| maintainers: |
| - A. della Porta <andrea.porta@suse.com> |
| |
| description: |
| Define a generic node representing a PCI endpoint which contains several sub- |
| peripherals. The peripherals can be accessed through one or more BARs. |
| This common schema is intended to be referenced from device tree bindings and |
| does not represent a device tree binding by itself. |
| |
| properties: |
| '#address-cells': |
| const: 3 |
| |
| '#size-cells': |
| const: 2 |
| |
| ranges: |
| minItems: 1 |
| maxItems: 6 |
| items: |
| maxItems: 8 |
| additionalItems: true |
| items: |
| - maximum: 5 # The BAR number |
| - const: 0 |
| - const: 0 |
| |
| patternProperties: |
| '^pci-ep-bus@[0-5]$': |
| type: object |
| description: |
| One node for each BAR used by peripherals contained in the PCI endpoint. |
| Each node represents a bus on which peripherals are connected. |
| This allows for some segmentation, e.g., one peripheral is accessible |
| through BAR0 and another through BAR1, and you don't want the two |
| peripherals to be able to act on the other BAR. Alternatively, when |
| different peripherals need to share BARs, you can define only one node |
| and use a 'ranges' property to map all the used BARs. |
| |
| additionalProperties: true |
| |
| properties: |
| compatible: |
| const: simple-bus |
| |
| required: |
| - compatible |
| |
| additionalProperties: true |
| ... |