xref: /linux/Documentation/devicetree/bindings/pci/pci-ep.yaml (revision 55d0969c451159cff86949b38c39171cab962069)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pci/pci-ep.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: PCI Endpoint Controller
8
9description: |
10  Common properties for PCI Endpoint Controller Nodes.
11
12maintainers:
13  - Kishon Vijay Abraham I <kishon@kernel.org>
14  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
15
16properties:
17  $nodename:
18    pattern: "^pcie-ep@"
19
20  max-functions:
21    description: Maximum number of functions that can be configured
22    $ref: /schemas/types.yaml#/definitions/uint8
23    minimum: 1
24    default: 1
25    maximum: 255
26
27  max-virtual-functions:
28    description: Array representing the number of virtual functions corresponding to each physical
29      function
30    $ref: /schemas/types.yaml#/definitions/uint8-array
31    minItems: 1
32    maxItems: 255
33
34  max-link-speed:
35    $ref: /schemas/types.yaml#/definitions/uint32
36    enum: [ 1, 2, 3, 4 ]
37
38  num-lanes:
39    description: maximum number of lanes
40    $ref: /schemas/types.yaml#/definitions/uint32
41    minimum: 1
42    default: 1
43    maximum: 16
44
45  linux,pci-domain:
46    description:
47      If present this property assigns a fixed PCI domain number to a PCI
48      Endpoint Controller, otherwise an unstable (across boots) unique number
49      will be assigned. It is required to either not set this property at all
50      or set it for all PCI endpoint controllers in the system, otherwise
51      potentially conflicting domain numbers may be assigned to endpoint
52      controllers. The domain number for each endpoint controller in the system
53      must be unique.
54    $ref: /schemas/types.yaml#/definitions/uint32
55
56required:
57  - compatible
58
59additionalProperties: true
60