msm_tspp.txt 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. TSPP Driver
  2. For information on the TSPP driver, please refer to the TSPP driver
  3. documentation: Documentation/arm/msm/tspp.txt.
  4. The devicetree representation of the TSPP block should be:
  5. Required properties:
  6. - compatible: "qcom,msm_tspp"
  7. - cell-index: <0> - represents device ID.
  8. - reg: physical memory base addresses and sizes for the following:
  9. TSIF0, TSIF1, TSPP and TSPP_BAM.
  10. - reg-names: names of the memory regions.
  11. - interrupts: represents IRQ numbers for the following:
  12. TSIF_TSPP_IRQ, TSIF0_IRQ, TSIF1_IRQ, TSIF_BAM_IRQ.
  13. - interrupt-names: TSPP, TSIF and BAM interrupt names.
  14. - qcom,tsif-pclk: interface clock name.
  15. - qcom,tsif-ref-clk: reference clock name.
  16. The driver uses clk_get to get the clocks by name. The clocks
  17. should be defined in the relevant clock file (e.g. clock-8974.c).
  18. - gpios: GPIO numbers for TSIF0 (CLK, EN, DATA and SYNC) and TSIF1 (same).
  19. - qcom,gpio-names: GPIO names - strings describing the GPIO functionality.
  20. - qcom,gpios-func: GPIO functionality according to the GPIO functionality table.
  21. GPIO pins can have more than a single functionality, and the TSPP driver
  22. is responsible for configuring the GPIOs to work in TSIF functionality
  23. based on this parameter.
  24. Note: it is assumed that the functionality value (e.g. 1 in 8974 case)
  25. is applicable to all TSIF GPIOs.
  26. Optional properties:
  27. - vdd_cx-supply: Reference to the regulator that supplies the CX rail.
  28. Some hardware platforms (e.g. 8974-v2) require the voltage of the rail
  29. supplying power to the TSIF hardware block to be elevated before
  30. enabling the TSIF clocks.
  31. - Refer to "Documentation/devicetree/bindings/arm/msm/msm_bus.txt" for
  32. the below optional properties:
  33. - qcom,msm-bus,name
  34. - qcom,msm-bus,num-cases
  35. - qcom,msm-bus,num-paths
  36. - qcom,msm-bus,vectors-KBps
  37. Example (for 8974 platform, avaialble at msm8974.dtsi):
  38. tspp: msm_tspp@f99d8000 {
  39. compatible = "qcom,msm_tspp";
  40. cell-index = <0>;
  41. reg = <0xf99d8000 0x1000>, /* MSM_TSIF0_PHYS */
  42. <0xf99d9000 0x1000>, /* MSM_TSIF1_PHYS */
  43. <0xf99da000 0x1000>, /* MSM_TSPP_PHYS */
  44. <0xf99c4000 0x14000>; /* MSM_TSPP_BAM_PHYS */
  45. reg-names = "MSM_TSIF0_PHYS",
  46. "MSM_TSIF1_PHYS",
  47. "MSM_TSPP_PHYS",
  48. "MSM_TSPP_BAM_PHYS";
  49. interrupts = <0 153 0>, /* TSIF_TSPP_IRQ */
  50. <0 151 0>, /* TSIF0_IRQ */
  51. <0 152 0>, /* TSIF1_IRQ */
  52. <0 154 0>; /* TSIF_BAM_IRQ */
  53. interrupt-names = "TSIF_TSPP_IRQ",
  54. "TSIF0_IRQ",
  55. "TSIF1_IRQ",
  56. "TSIF_BAM_IRQ";
  57. qcom,tsif-pclk = "iface_clk";
  58. qcom,tsif-ref-clk = "ref_clk";
  59. gpios = <&msmgpio 89 0>, /* TSIF0 CLK */
  60. <&msmgpio 90 0>, /* TSIF0 EN */
  61. <&msmgpio 91 0>, /* TSIF0 DATA */
  62. <&msmgpio 92 0>, /* TSIF0 SYNC */
  63. <&msmgpio 93 0>, /* TSIF1 CLK */
  64. <&msmgpio 94 0>, /* TSIF1 EN */
  65. <&msmgpio 95 0>, /* TSIF1 DATA */
  66. <&msmgpio 96 0>; /* TSIF1 SYNC */
  67. qcom,gpio-names = "tsif_clk",
  68. "tsif_en",
  69. "tsif_data",
  70. "tsif_sync",
  71. "tsif_clk",
  72. "tsif_en",
  73. "tsif_data",
  74. "tsif_sync";
  75. qcom,gpios-func = <1>;
  76. qcom,msm-bus,name = "tsif";
  77. qcom,msm-bus,num-cases = <2>;
  78. qcom,msm-bus,num-paths = <1>;
  79. qcom,msm-bus,vectors-KBps =
  80. <82 512 0 0>, /* No vote */
  81. <82 512 12288 24576>; /* Max. bandwidth, 2xTSIF, each max of 96Mbps */
  82. };