Documentation/devicetree/bindings/pci/apple,pcie.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/pci/apple,pcie.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/pci/apple,pcie.yaml
Extension
.yaml
Size
4894 bytes
Lines
195
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/apple,pcie.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple PCIe host controller

maintainers:
  - Mark Kettenis <kettenis@openbsd.org>

description: |
  The Apple PCIe host controller is a PCIe host controller with
  multiple root ports present in Apple ARM SoC platforms, including
  various iPhone and iPad devices and the "Apple Silicon" Macs.
  The controller incorporates Synopsys DesigWare PCIe logic to
  implements its root ports.  But the ATU found on most DesignWare
  PCIe host bridges is absent.

  On systems derived from T602x, the PHY registers are in a region
  separate from the port registers. In that case, there is one PHY
  register range per port register range.

  All root ports share a single ECAM space, but separate GPIOs are
  used to take the PCI devices on those ports out of reset.  Therefore
  the standard "reset-gpios" and "max-link-speed" properties appear on
  the child nodes that represent the PCI bridges that correspond to
  the individual root ports.

  MSIs are handled by the PCIe controller and translated into regular
  interrupts.  A range of 32 MSIs is provided.  These 32 MSIs can be
  distributed over the root ports as the OS sees fit by programming
  the PCIe controller's port registers.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - apple,t8103-pcie
              - apple,t8112-pcie
              - apple,t6000-pcie
          - const: apple,pcie
      - const: apple,t6020-pcie

  reg:
    minItems: 3
    maxItems: 10

  reg-names:
    minItems: 3
    items:
      - const: config
      - const: rc
      - const: port0
      - const: port1
      - const: port2
      - const: port3
      - const: phy0
      - const: phy1
      - const: phy2
      - const: phy3

  ranges:
    minItems: 2
    maxItems: 2

  interrupts:
    description:
      Interrupt specifiers, one for each root port.

Annotation

Implementation Notes