Documentation/devicetree/bindings/pci/pci-ep-bus.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/pci/pci-ep-bus.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/pci/pci-ep-bus.yaml
Extension
.yaml
Size
1633 bytes
Lines
59
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# 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
...

Annotation

Implementation Notes