mobiveil-pcie.txt 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. * Mobiveil AXI PCIe Root Port Bridge DT description
  2. Mobiveil's GPEX 4.0 is a PCIe Gen4 root port bridge IP. This configurable IP
  3. has up to 8 outbound and inbound windows for the address translation.
  4. Required properties:
  5. - #address-cells: Address representation for root ports, set to <3>
  6. - #size-cells: Size representation for root ports, set to <2>
  7. - #interrupt-cells: specifies the number of cells needed to encode an
  8. interrupt source. The value must be 1.
  9. - compatible: Should contain "mbvl,gpex40-pcie"
  10. - reg: Should contain PCIe registers location and length
  11. "config_axi_slave": PCIe controller registers
  12. "csr_axi_slave" : Bridge config registers
  13. "gpio_slave" : GPIO registers to control slot power
  14. "apb_csr" : MSI registers
  15. - device_type: must be "pci"
  16. - apio-wins : number of requested apio outbound windows
  17. default 2 outbound windows are configured -
  18. 1. Config window
  19. 2. Memory window
  20. - ppio-wins : number of requested ppio inbound windows
  21. default 1 inbound memory window is configured.
  22. - bus-range: PCI bus numbers covered
  23. - interrupt-controller: identifies the node as an interrupt controller
  24. - #interrupt-cells: specifies the number of cells needed to encode an
  25. interrupt source. The value must be 1.
  26. - interrupts: The interrupt line of the PCIe controller
  27. last cell of this field is set to 4 to
  28. denote it as IRQ_TYPE_LEVEL_HIGH type interrupt.
  29. - interrupt-map-mask,
  30. interrupt-map: standard PCI properties to define the mapping of the
  31. PCI interface to interrupt numbers.
  32. - ranges: ranges for the PCI memory regions (I/O space region is not
  33. supported by hardware)
  34. Please refer to the standard PCI bus binding document for a more
  35. detailed explanation
  36. Example:
  37. ++++++++
  38. pcie0: pcie@a0000000 {
  39. #address-cells = <3>;
  40. #size-cells = <2>;
  41. compatible = "mbvl,gpex40-pcie";
  42. reg = <0xa0000000 0x00001000>,
  43. <0xb0000000 0x00010000>,
  44. <0xff000000 0x00200000>,
  45. <0xb0010000 0x00001000>;
  46. reg-names = "config_axi_slave",
  47. "csr_axi_slave",
  48. "gpio_slave",
  49. "apb_csr";
  50. device_type = "pci";
  51. apio-wins = <2>;
  52. ppio-wins = <1>;
  53. bus-range = <0x00000000 0x000000ff>;
  54. interrupt-controller;
  55. interrupt-parent = <&gic>;
  56. #interrupt-cells = <1>;
  57. interrupts = < 0 89 4 >;
  58. interrupt-map-mask = <0 0 0 7>;
  59. interrupt-map = <0 0 0 0 &pci_express 0>,
  60. <0 0 0 1 &pci_express 1>,
  61. <0 0 0 2 &pci_express 2>,
  62. <0 0 0 3 &pci_express 3>;
  63. ranges = < 0x83000000 0 0x00000000 0xa8000000 0 0x8000000>;
  64. };