1dcd19de3SDuc Dang* AppliedMicro X-Gene v1 PCIe MSI controller 2dcd19de3SDuc Dang 3dcd19de3SDuc DangRequired properties: 4dcd19de3SDuc Dang 5dcd19de3SDuc Dang- compatible: should be "apm,xgene1-msi" to identify 6dcd19de3SDuc Dang X-Gene v1 PCIe MSI controller block. 7*96291d56SBjorn Helgaas- msi-controller: indicates that this is an X-Gene v1 PCIe MSI controller node 8dcd19de3SDuc Dang- reg: physical base address (0x79000000) and length (0x900000) for controller 9dcd19de3SDuc Dang registers. These registers include the MSI termination address and data 10dcd19de3SDuc Dang registers as well as the MSI interrupt status registers. 11dcd19de3SDuc Dang- reg-names: not required 12dcd19de3SDuc Dang- interrupts: A list of 16 interrupt outputs of the controller, starting from 13dcd19de3SDuc Dang interrupt number 0x10 to 0x1f. 14dcd19de3SDuc Dang- interrupt-names: not required 15dcd19de3SDuc Dang 16*96291d56SBjorn HelgaasEach PCIe node needs to have property msi-parent that points to an MSI 17*96291d56SBjorn Helgaascontroller node 18dcd19de3SDuc Dang 19dcd19de3SDuc DangExamples: 20dcd19de3SDuc Dang 21dcd19de3SDuc DangSoC DTSI: 22dcd19de3SDuc Dang 23dcd19de3SDuc Dang + MSI node: 24dcd19de3SDuc Dang msi@79000000 { 25dcd19de3SDuc Dang compatible = "apm,xgene1-msi"; 26dcd19de3SDuc Dang msi-controller; 27dcd19de3SDuc Dang reg = <0x00 0x79000000 0x0 0x900000>; 28dcd19de3SDuc Dang interrupts = <0x0 0x10 0x4> 29dcd19de3SDuc Dang <0x0 0x11 0x4> 30dcd19de3SDuc Dang <0x0 0x12 0x4> 31dcd19de3SDuc Dang <0x0 0x13 0x4> 32dcd19de3SDuc Dang <0x0 0x14 0x4> 33dcd19de3SDuc Dang <0x0 0x15 0x4> 34dcd19de3SDuc Dang <0x0 0x16 0x4> 35dcd19de3SDuc Dang <0x0 0x17 0x4> 36dcd19de3SDuc Dang <0x0 0x18 0x4> 37dcd19de3SDuc Dang <0x0 0x19 0x4> 38dcd19de3SDuc Dang <0x0 0x1a 0x4> 39dcd19de3SDuc Dang <0x0 0x1b 0x4> 40dcd19de3SDuc Dang <0x0 0x1c 0x4> 41dcd19de3SDuc Dang <0x0 0x1d 0x4> 42dcd19de3SDuc Dang <0x0 0x1e 0x4> 43dcd19de3SDuc Dang <0x0 0x1f 0x4>; 44dcd19de3SDuc Dang }; 45dcd19de3SDuc Dang 46dcd19de3SDuc Dang + PCIe controller node with msi-parent property pointing to MSI node: 47dcd19de3SDuc Dang pcie0: pcie@1f2b0000 { 48dcd19de3SDuc Dang device_type = "pci"; 49dcd19de3SDuc Dang compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 50dcd19de3SDuc Dang #interrupt-cells = <1>; 51dcd19de3SDuc Dang #size-cells = <2>; 52dcd19de3SDuc Dang #address-cells = <3>; 53dcd19de3SDuc Dang reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ 54dcd19de3SDuc Dang 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 55dcd19de3SDuc Dang reg-names = "csr", "cfg"; 56dcd19de3SDuc Dang ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */ 57dcd19de3SDuc Dang 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */ 58dcd19de3SDuc Dang dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 59dcd19de3SDuc Dang 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 60dcd19de3SDuc Dang interrupt-map-mask = <0x0 0x0 0x0 0x7>; 61dcd19de3SDuc Dang interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1 62dcd19de3SDuc Dang 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1 63dcd19de3SDuc Dang 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1 64dcd19de3SDuc Dang 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; 65dcd19de3SDuc Dang dma-coherent; 66dcd19de3SDuc Dang clocks = <&pcie0clk 0>; 67dcd19de3SDuc Dang msi-parent= <&msi>; 68dcd19de3SDuc Dang }; 69