1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/pci/apm,xgene-pcie.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: AppliedMicro X-Gene PCIe interface 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Toan Le <toan@os.amperecomputing.com> 11*833e5d42SEmmanuel Vadot 12*833e5d42SEmmanuel VadotallOf: 13*833e5d42SEmmanuel Vadot - $ref: /schemas/pci/pci-host-bridge.yaml# 14*833e5d42SEmmanuel Vadot 15*833e5d42SEmmanuel Vadotproperties: 16*833e5d42SEmmanuel Vadot compatible: 17*833e5d42SEmmanuel Vadot oneOf: 18*833e5d42SEmmanuel Vadot - items: 19*833e5d42SEmmanuel Vadot - const: apm,xgene-storm-pcie 20*833e5d42SEmmanuel Vadot - const: apm,xgene-pcie 21*833e5d42SEmmanuel Vadot - items: 22*833e5d42SEmmanuel Vadot - const: apm,xgene-pcie 23*833e5d42SEmmanuel Vadot 24*833e5d42SEmmanuel Vadot reg: 25*833e5d42SEmmanuel Vadot items: 26*833e5d42SEmmanuel Vadot - description: Controller configuration registers 27*833e5d42SEmmanuel Vadot - description: PCI configuration space registers 28*833e5d42SEmmanuel Vadot 29*833e5d42SEmmanuel Vadot reg-names: 30*833e5d42SEmmanuel Vadot items: 31*833e5d42SEmmanuel Vadot - const: csr 32*833e5d42SEmmanuel Vadot - const: cfg 33*833e5d42SEmmanuel Vadot 34*833e5d42SEmmanuel Vadot clocks: 35*833e5d42SEmmanuel Vadot maxItems: 1 36*833e5d42SEmmanuel Vadot 37*833e5d42SEmmanuel Vadot clock-names: 38*833e5d42SEmmanuel Vadot items: 39*833e5d42SEmmanuel Vadot - const: pcie 40*833e5d42SEmmanuel Vadot 41*833e5d42SEmmanuel Vadot dma-coherent: true 42*833e5d42SEmmanuel Vadot 43*833e5d42SEmmanuel Vadot msi-parent: 44*833e5d42SEmmanuel Vadot maxItems: 1 45*833e5d42SEmmanuel Vadot 46*833e5d42SEmmanuel Vadotrequired: 47*833e5d42SEmmanuel Vadot - compatible 48*833e5d42SEmmanuel Vadot - reg 49*833e5d42SEmmanuel Vadot - reg-names 50*833e5d42SEmmanuel Vadot - '#interrupt-cells' 51*833e5d42SEmmanuel Vadot - interrupt-map-mask 52*833e5d42SEmmanuel Vadot - interrupt-map 53*833e5d42SEmmanuel Vadot - clocks 54*833e5d42SEmmanuel Vadot 55*833e5d42SEmmanuel VadotunevaluatedProperties: false 56*833e5d42SEmmanuel Vadot 57*833e5d42SEmmanuel Vadotexamples: 58*833e5d42SEmmanuel Vadot - | 59*833e5d42SEmmanuel Vadot bus { 60*833e5d42SEmmanuel Vadot #address-cells = <2>; 61*833e5d42SEmmanuel Vadot #size-cells = <2>; 62*833e5d42SEmmanuel Vadot 63*833e5d42SEmmanuel Vadot pcie@1f2b0000 { 64*833e5d42SEmmanuel Vadot compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 65*833e5d42SEmmanuel Vadot device_type = "pci"; 66*833e5d42SEmmanuel Vadot #interrupt-cells = <1>; 67*833e5d42SEmmanuel Vadot #size-cells = <2>; 68*833e5d42SEmmanuel Vadot #address-cells = <3>; 69*833e5d42SEmmanuel Vadot reg = <0x00 0x1f2b0000 0x0 0x00010000>, /* Controller registers */ 70*833e5d42SEmmanuel Vadot <0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 71*833e5d42SEmmanuel Vadot reg-names = "csr", "cfg"; 72*833e5d42SEmmanuel Vadot ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000>, /* io */ 73*833e5d42SEmmanuel Vadot <0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */ 74*833e5d42SEmmanuel Vadot dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000>, 75*833e5d42SEmmanuel Vadot <0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 76*833e5d42SEmmanuel Vadot interrupt-map-mask = <0x0 0x0 0x0 0x7>; 77*833e5d42SEmmanuel Vadot interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1>, 78*833e5d42SEmmanuel Vadot <0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1>, 79*833e5d42SEmmanuel Vadot <0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1>, 80*833e5d42SEmmanuel Vadot <0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; 81*833e5d42SEmmanuel Vadot dma-coherent; 82*833e5d42SEmmanuel Vadot clocks = <&pcie0clk 0>; 83*833e5d42SEmmanuel Vadot }; 84*833e5d42SEmmanuel Vadot }; 85