blob: 09748ef6b94f5af8ec0d7a3b42a7415fece61034 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pci/versatile.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ARM Versatile Platform Baseboard PCI interface
8
9maintainers:
10 - Rob Herring <robh@kernel.org>
11
12description: |+
13 PCI host controller found on the ARM Versatile PB board's FPGA.
14
15allOf:
16 - $ref: /schemas/pci/pci-bus.yaml#
17
18properties:
19 compatible:
20 const: arm,versatile-pci
21
22 reg:
23 items:
24 - description: Versatile-specific registers
25 - description: Self Config space
26 - description: Config space
27
28 ranges:
29 maxItems: 3
30
31 "#interrupt-cells": true
32
33 interrupt-map:
34 maxItems: 16
35
36 interrupt-map-mask:
37 items:
38 - const: 0x1800
39 - const: 0
40 - const: 0
41 - const: 7
42
43required:
44 - compatible
45 - reg
46 - ranges
47 - "#interrupt-cells"
48 - interrupt-map
49 - interrupt-map-mask
50
51unevaluatedProperties: false
52
53examples:
54 - |
55 pci@10001000 {
56 compatible = "arm,versatile-pci";
57 device_type = "pci";
58 reg = <0x10001000 0x1000>,
59 <0x41000000 0x10000>,
60 <0x42000000 0x100000>;
61 bus-range = <0 0xff>;
62 #address-cells = <3>;
63 #size-cells = <2>;
64 #interrupt-cells = <1>;
65
66 ranges =
67 <0x01000000 0 0x00000000 0x43000000 0 0x00010000>, /* downstream I/O */
68 <0x02000000 0 0x50000000 0x50000000 0 0x10000000>, /* non-prefetchable memory */
69 <0x42000000 0 0x60000000 0x60000000 0 0x10000000>; /* prefetchable memory */
70
71 interrupt-map-mask = <0x1800 0 0 7>;
72 interrupt-map = <0x1800 0 0 1 &sic 28>,
73 <0x1800 0 0 2 &sic 29>,
74 <0x1800 0 0 3 &sic 30>,
75 <0x1800 0 0 4 &sic 27>,
76
77 <0x1000 0 0 1 &sic 27>,
78 <0x1000 0 0 2 &sic 28>,
79 <0x1000 0 0 3 &sic 29>,
80 <0x1000 0 0 4 &sic 30>,
81
82 <0x0800 0 0 1 &sic 30>,
83 <0x0800 0 0 2 &sic 27>,
84 <0x0800 0 0 3 &sic 28>,
85 <0x0800 0 0 4 &sic 29>,
86
87 <0x0000 0 0 1 &sic 29>,
88 <0x0000 0 0 2 &sic 30>,
89 <0x0000 0 0 3 &sic 27>,
90 <0x0000 0 0 4 &sic 28>;
91 };
92
93
94...