pci-keystone.txt 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. TI Keystone PCIe interface
  2. Keystone PCI host Controller is based on Designware PCI h/w version 3.65.
  3. It shares common functions with PCIe Designware core driver and inherit
  4. common properties defined in
  5. Documentation/devicetree/bindings/pci/designware-pci.txt
  6. Please refer to Documentation/devicetree/bindings/pci/designware-pci.txt
  7. for the details of Designware DT bindings. Additional properties are
  8. described here as well as properties that are not applicable.
  9. Required Properties:-
  10. compatibility: Should be "ti,keystone-pcie" for RC
  11. Should be "ti,keystone-pcie-ep" for EP
  12. Optional properties:-
  13. phys: phandle to Generic Keystone SerDes phy for PCI
  14. phy-names: name of the Generic Keystine SerDes phy for PCI
  15. - If boot loader already does PCI link establishment, then phys and
  16. phy-names shouldn't be present.
  17. interrupts: platform interrupt for error interrupts.
  18. ti,syscon-dev: phandle to the syscon dt node. The 1st argument should
  19. contain the register offset within syscon dt node to set
  20. the PCIe mode.
  21. Designware DT Properties not applicable for Keystone PCI
  22. 1. pcie_bus clock-names not used. Instead, a phandle to phys is used.
  23. HOST MODE
  24. =========
  25. reg: index 1 is the base address and length of DW application registers.
  26. index 2 is the base address and length of PCI device ID register.
  27. pcie_msi_intc : Interrupt controller device node for MSI IRQ chip
  28. interrupt-cells: should be set to 1
  29. interrupt-parent: Parent interrupt controller phandle
  30. interrupts: GIC interrupt lines connected to PCI MSI interrupt lines
  31. Example:
  32. pcie_msi_intc: msi-interrupt-controller {
  33. interrupt-controller;
  34. #interrupt-cells = <1>;
  35. interrupt-parent = <&gic>;
  36. interrupts = <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
  37. <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>,
  38. <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>,
  39. <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>,
  40. <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,
  41. <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
  42. <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,
  43. <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>;
  44. };
  45. pcie_intc: Interrupt controller device node for Legacy IRQ chip
  46. interrupt-cells: should be set to 1
  47. interrupt-parent: Parent interrupt controller phandle
  48. interrupts: GIC interrupt lines connected to PCI Legacy interrupt lines
  49. Example:
  50. pcie_intc: legacy-interrupt-controller {
  51. interrupt-controller;
  52. #interrupt-cells = <1>;
  53. interrupt-parent = <&gic>;
  54. interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>,
  55. <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>,
  56. <GIC_SPI 28 IRQ_TYPE_EDGE_RISING>,
  57. <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
  58. };
  59. DEVICE MODE
  60. ===========
  61. reg: Three register ranges as listed in the reg-names property
  62. reg-names: "ep_dbics" for the standard configuration registers as they
  63. are locally accessed within the DIF CS/CS2 space
  64. "app" for the PCIe SS application registers
  65. "addr_space" used to map remote RC address space
  66. num-ib-windows : number of inbound address translation windows