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