xref: /linux/Documentation/devicetree/bindings/pci/pci-ep.yaml (revision e3b2949e3fa2fd8c19cd5fbb0424d38f70a70e9c)
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