ti-pci.txt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. TI PCI Controllers
  2. PCIe DesignWare Controller
  3. - compatible: Should be "ti,dra7-pcie" for RC
  4. Should be "ti,dra7-pcie-ep" for EP
  5. - phys : list of PHY specifiers (used by generic PHY framework)
  6. - phy-names : must be "pcie-phy0", "pcie-phy1", "pcie-phyN".. based on the
  7. number of PHYs as specified in *phys* property.
  8. - ti,hwmods : Name of the hwmod associated to the pcie, "pcie<X>",
  9. where <X> is the instance number of the pcie from the HW spec.
  10. - num-lanes as specified in ../designware-pcie.txt
  11. HOST MODE
  12. =========
  13. - reg : Two register ranges as listed in the reg-names property
  14. - reg-names : The first entry must be "ti-conf" for the TI-specific registers
  15. The second entry must be "rc-dbics" for the DesignWare PCIe
  16. registers
  17. The third entry must be "config" for the PCIe configuration space
  18. - interrupts : Two interrupt entries must be specified. The first one is for
  19. main interrupt line and the second for MSI interrupt line.
  20. - #address-cells,
  21. #size-cells,
  22. #interrupt-cells,
  23. device_type,
  24. ranges,
  25. interrupt-map-mask,
  26. interrupt-map : as specified in ../designware-pcie.txt
  27. DEVICE MODE
  28. ===========
  29. - reg : Four register ranges as listed in the reg-names property
  30. - reg-names : "ti-conf" for the TI-specific registers
  31. "ep_dbics" for the standard configuration registers as
  32. they are locally accessed within the DIF CS space
  33. "ep_dbics2" for the standard configuration registers as
  34. they are locally accessed within the DIF CS2 space
  35. "addr_space" used to map remote RC address space
  36. - interrupts : one interrupt entries must be specified for main interrupt.
  37. - num-ib-windows : number of inbound address translation windows
  38. - num-ob-windows : number of outbound address translation windows
  39. - ti,syscon-unaligned-access: phandle to the syscon DT node. The 1st argument
  40. should contain the register offset within syscon
  41. and the 2nd argument should contain the bit field
  42. for setting the bit to enable unaligned
  43. access.
  44. Optional Property:
  45. - gpios : Should be added if a GPIO line is required to drive PERST# line
  46. NOTE: Two DT nodes may be added for each PCI controller; one for host
  47. mode and another for device mode. So in order for PCI to
  48. work in host mode, EP mode DT node should be disabled and in order to PCI to
  49. work in EP mode, host mode DT node should be disabled. Host mode and EP
  50. mode are mutually exclusive.
  51. Example:
  52. axi {
  53. compatible = "simple-bus";
  54. #size-cells = <1>;
  55. #address-cells = <1>;
  56. ranges = <0x51000000 0x51000000 0x3000
  57. 0x0 0x20000000 0x10000000>;
  58. pcie@51000000 {
  59. compatible = "ti,dra7-pcie";
  60. reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
  61. reg-names = "rc_dbics", "ti_conf", "config";
  62. interrupts = <0 232 0x4>, <0 233 0x4>;
  63. #address-cells = <3>;
  64. #size-cells = <2>;
  65. device_type = "pci";
  66. ranges = <0x81000000 0 0 0x03000 0 0x00010000
  67. 0x82000000 0 0x20013000 0x13000 0 0xffed000>;
  68. #interrupt-cells = <1>;
  69. num-lanes = <1>;
  70. ti,hwmods = "pcie1";
  71. phys = <&pcie1_phy>;
  72. phy-names = "pcie-phy0";
  73. interrupt-map-mask = <0 0 0 7>;
  74. interrupt-map = <0 0 0 1 &pcie_intc 1>,
  75. <0 0 0 2 &pcie_intc 2>,
  76. <0 0 0 3 &pcie_intc 3>,
  77. <0 0 0 4 &pcie_intc 4>;
  78. pcie_intc: interrupt-controller {
  79. interrupt-controller;
  80. #address-cells = <0>;
  81. #interrupt-cells = <1>;
  82. };
  83. };
  84. };