| * ThunderX PEM PCIe host controller |
| |
| Firmware-initialized PCI host controller found on some Cavium |
| ThunderX processors. |
| |
| The properties and their meanings are identical to those described in |
| host-generic-pci.txt except as listed below. |
| |
| Properties of the host controller node that differ from |
| host-generic-pci.txt: |
| |
| - compatible : Must be "cavium,pci-host-thunder-pem" |
| |
| - reg : Two entries: First the configuration space for down |
| stream devices base address and size, as accessed |
| from the parent bus. Second, the register bank of |
| the PEM device PCIe bridge. |
| |
| Example: |
| |
| pci@87e0,c2000000 { |
| compatible = "cavium,pci-host-thunder-pem"; |
| device_type = "pci"; |
| msi-parent = <&its>; |
| msi-map = <0 &its 0x10000 0x10000>; |
| bus-range = <0x8f 0xc7>; |
| #size-cells = <2>; |
| #address-cells = <3>; |
| |
| reg = <0x8880 0x8f000000 0x0 0x39000000>, /* Configuration space */ |
| <0x87e0 0xc2000000 0x0 0x00010000>; /* PEM space */ |
| ranges = <0x01000000 0x00 0x00020000 0x88b0 0x00020000 0x00 0x00010000>, /* I/O */ |
| <0x03000000 0x00 0x10000000 0x8890 0x10000000 0x0f 0xf0000000>, /* mem64 */ |
| <0x43000000 0x10 0x00000000 0x88a0 0x00000000 0x10 0x00000000>, /* mem64-pref */ |
| <0x03000000 0x87e0 0xc2f00000 0x87e0 0xc2000000 0x00 0x00100000>; /* mem64 PEM BAR4 */ |
| |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0 0 0 7>; |
| interrupt-map = <0 0 0 1 &gic0 0 0 0 24 4>, /* INTA */ |
| <0 0 0 2 &gic0 0 0 0 25 4>, /* INTB */ |
| <0 0 0 3 &gic0 0 0 0 26 4>, /* INTC */ |
| <0 0 0 4 &gic0 0 0 0 27 4>; /* INTD */ |
| }; |