xref: /linux/Documentation/devicetree/bindings/pci/amd,versal2-mdb-host.yaml (revision 2f2c7254931f41b5736e3ba12aaa9ac1bbeeeb92)
1c96c936aSThippeswamy Havalige# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c96c936aSThippeswamy Havalige%YAML 1.2
3c96c936aSThippeswamy Havalige---
4c96c936aSThippeswamy Havalige$id: http://devicetree.org/schemas/pci/amd,versal2-mdb-host.yaml#
5c96c936aSThippeswamy Havalige$schema: http://devicetree.org/meta-schemas/core.yaml#
6c96c936aSThippeswamy Havalige
7c96c936aSThippeswamy Havaligetitle: AMD Versal2 MDB(Multimedia DMA Bridge) Host Controller
8c96c936aSThippeswamy Havalige
9c96c936aSThippeswamy Havaligemaintainers:
10c96c936aSThippeswamy Havalige  - Thippeswamy Havalige <thippeswamy.havalige@amd.com>
11c96c936aSThippeswamy Havalige
12c96c936aSThippeswamy HavaligeallOf:
13c96c936aSThippeswamy Havalige  - $ref: /schemas/pci/pci-host-bridge.yaml#
14c96c936aSThippeswamy Havalige  - $ref: /schemas/pci/snps,dw-pcie.yaml#
15c96c936aSThippeswamy Havalige
16c96c936aSThippeswamy Havaligeproperties:
17c96c936aSThippeswamy Havalige  compatible:
18c96c936aSThippeswamy Havalige    const: amd,versal2-mdb-host
19c96c936aSThippeswamy Havalige
20c96c936aSThippeswamy Havalige  reg:
21c96c936aSThippeswamy Havalige    items:
22c96c936aSThippeswamy Havalige      - description: MDB System Level Control and Status Register (SLCR) Base
23c96c936aSThippeswamy Havalige      - description: configuration region
24c96c936aSThippeswamy Havalige      - description: data bus interface
25c96c936aSThippeswamy Havalige      - description: address translation unit register
26c96c936aSThippeswamy Havalige
27c96c936aSThippeswamy Havalige  reg-names:
28c96c936aSThippeswamy Havalige    items:
29c96c936aSThippeswamy Havalige      - const: slcr
30c96c936aSThippeswamy Havalige      - const: config
31c96c936aSThippeswamy Havalige      - const: dbi
32c96c936aSThippeswamy Havalige      - const: atu
33c96c936aSThippeswamy Havalige
34c96c936aSThippeswamy Havalige  ranges:
35c96c936aSThippeswamy Havalige    maxItems: 2
36c96c936aSThippeswamy Havalige
37c96c936aSThippeswamy Havalige  msi-map:
38c96c936aSThippeswamy Havalige    maxItems: 1
39c96c936aSThippeswamy Havalige
40c96c936aSThippeswamy Havalige  interrupts:
41c96c936aSThippeswamy Havalige    maxItems: 1
42c96c936aSThippeswamy Havalige
43c96c936aSThippeswamy Havalige  interrupt-map-mask:
44c96c936aSThippeswamy Havalige    items:
45c96c936aSThippeswamy Havalige      - const: 0
46c96c936aSThippeswamy Havalige      - const: 0
47c96c936aSThippeswamy Havalige      - const: 0
48c96c936aSThippeswamy Havalige      - const: 7
49c96c936aSThippeswamy Havalige
50c96c936aSThippeswamy Havalige  interrupt-map:
51c96c936aSThippeswamy Havalige    maxItems: 4
52c96c936aSThippeswamy Havalige
53c96c936aSThippeswamy Havalige  "#interrupt-cells":
54c96c936aSThippeswamy Havalige    const: 1
55c96c936aSThippeswamy Havalige
56c96c936aSThippeswamy Havalige  interrupt-controller:
57c96c936aSThippeswamy Havalige    description: identifies the node as an interrupt controller
58c96c936aSThippeswamy Havalige    type: object
59c96c936aSThippeswamy Havalige    additionalProperties: false
60c96c936aSThippeswamy Havalige    properties:
61c96c936aSThippeswamy Havalige      interrupt-controller: true
62c96c936aSThippeswamy Havalige
63c96c936aSThippeswamy Havalige      "#address-cells":
64c96c936aSThippeswamy Havalige        const: 0
65c96c936aSThippeswamy Havalige
66c96c936aSThippeswamy Havalige      "#interrupt-cells":
67c96c936aSThippeswamy Havalige        const: 1
68c96c936aSThippeswamy Havalige
69c96c936aSThippeswamy Havalige    required:
70c96c936aSThippeswamy Havalige      - interrupt-controller
71c96c936aSThippeswamy Havalige      - "#address-cells"
72c96c936aSThippeswamy Havalige      - "#interrupt-cells"
73c96c936aSThippeswamy Havalige
74*0b9275edSSai Krishna MushampatternProperties:
75*0b9275edSSai Krishna Musham  '^pcie@[0-2],0$':
76*0b9275edSSai Krishna Musham    type: object
77*0b9275edSSai Krishna Musham    $ref: /schemas/pci/pci-pci-bridge.yaml#
78*0b9275edSSai Krishna Musham
79*0b9275edSSai Krishna Musham    properties:
80*0b9275edSSai Krishna Musham      reg:
81*0b9275edSSai Krishna Musham        maxItems: 1
82*0b9275edSSai Krishna Musham
83*0b9275edSSai Krishna Musham    unevaluatedProperties: false
84*0b9275edSSai Krishna Musham
85c96c936aSThippeswamy Havaligerequired:
86c96c936aSThippeswamy Havalige  - reg
87c96c936aSThippeswamy Havalige  - reg-names
88c96c936aSThippeswamy Havalige  - interrupts
89c96c936aSThippeswamy Havalige  - interrupt-map
90c96c936aSThippeswamy Havalige  - interrupt-map-mask
91c96c936aSThippeswamy Havalige  - msi-map
92c96c936aSThippeswamy Havalige  - "#interrupt-cells"
93c96c936aSThippeswamy Havalige  - interrupt-controller
94c96c936aSThippeswamy Havalige
95c96c936aSThippeswamy HavaligeunevaluatedProperties: false
96c96c936aSThippeswamy Havalige
97c96c936aSThippeswamy Havaligeexamples:
98c96c936aSThippeswamy Havalige  - |
99c96c936aSThippeswamy Havalige    #include <dt-bindings/interrupt-controller/arm-gic.h>
100c96c936aSThippeswamy Havalige    #include <dt-bindings/interrupt-controller/irq.h>
101*0b9275edSSai Krishna Musham    #include <dt-bindings/gpio/gpio.h>
102c96c936aSThippeswamy Havalige
103c96c936aSThippeswamy Havalige    soc {
104c96c936aSThippeswamy Havalige        #address-cells = <2>;
105c96c936aSThippeswamy Havalige        #size-cells = <2>;
106c96c936aSThippeswamy Havalige        pcie@ed931000 {
107c96c936aSThippeswamy Havalige            compatible = "amd,versal2-mdb-host";
108c96c936aSThippeswamy Havalige            reg = <0x0 0xed931000 0x0 0x2000>,
109c96c936aSThippeswamy Havalige                  <0x1000 0x100000 0x0 0xff00000>,
110c96c936aSThippeswamy Havalige                  <0x1000 0x0 0x0 0x1000>,
111c96c936aSThippeswamy Havalige                  <0x0 0xed860000 0x0 0x2000>;
112c96c936aSThippeswamy Havalige            reg-names = "slcr", "config", "dbi", "atu";
113c96c936aSThippeswamy Havalige            ranges = <0x2000000 0x00 0xa0000000 0x00 0xa0000000 0x00 0x10000000>,
114c96c936aSThippeswamy Havalige                     <0x43000000 0x1100 0x00 0x1100 0x00 0x00 0x1000000>;
115c96c936aSThippeswamy Havalige            interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
116c96c936aSThippeswamy Havalige            interrupt-parent = <&gic>;
117c96c936aSThippeswamy Havalige            interrupt-map-mask = <0 0 0 7>;
118c96c936aSThippeswamy Havalige            interrupt-map = <0 0 0 1 &pcie_intc_0 0>,
119c96c936aSThippeswamy Havalige                            <0 0 0 2 &pcie_intc_0 1>,
120c96c936aSThippeswamy Havalige                            <0 0 0 3 &pcie_intc_0 2>,
121c96c936aSThippeswamy Havalige                            <0 0 0 4 &pcie_intc_0 3>;
122c96c936aSThippeswamy Havalige            msi-map = <0x0 &gic_its 0x00 0x10000>;
123c96c936aSThippeswamy Havalige            #address-cells = <3>;
124c96c936aSThippeswamy Havalige            #size-cells = <2>;
125c96c936aSThippeswamy Havalige            #interrupt-cells = <1>;
126c96c936aSThippeswamy Havalige            device_type = "pci";
127*0b9275edSSai Krishna Musham
128*0b9275edSSai Krishna Musham            pcie@0,0 {
129*0b9275edSSai Krishna Musham                device_type = "pci";
130*0b9275edSSai Krishna Musham                reg = <0x0 0x0 0x0 0x0 0x0>;
131*0b9275edSSai Krishna Musham                reset-gpios = <&tca6416_u37 7 GPIO_ACTIVE_LOW>;
132*0b9275edSSai Krishna Musham                #address-cells = <3>;
133*0b9275edSSai Krishna Musham                #size-cells = <2>;
134*0b9275edSSai Krishna Musham                ranges;
135*0b9275edSSai Krishna Musham            };
136*0b9275edSSai Krishna Musham
137c96c936aSThippeswamy Havalige            pcie_intc_0: interrupt-controller {
138c96c936aSThippeswamy Havalige                #address-cells = <0>;
139c96c936aSThippeswamy Havalige                #interrupt-cells = <1>;
140c96c936aSThippeswamy Havalige                interrupt-controller;
141c96c936aSThippeswamy Havalige            };
142c96c936aSThippeswamy Havalige        };
143c96c936aSThippeswamy Havalige    };
144