mvebu-core-clock.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. * Core Clock bindings for Marvell MVEBU SoCs
  2. Marvell MVEBU SoCs usually allow to determine core clock frequencies by
  3. reading the Sample-At-Reset (SAR) register. The core clock consumer should
  4. specify the desired clock by having the clock ID in its "clocks" phandle cell.
  5. The following is a list of provided IDs and clock names on Armada 370/XP:
  6. 0 = tclk (Internal Bus clock)
  7. 1 = cpuclk (CPU clock)
  8. 2 = nbclk (L2 Cache clock)
  9. 3 = hclk (DRAM control clock)
  10. 4 = dramclk (DDR clock)
  11. The following is a list of provided IDs and clock names on Armada 375:
  12. 0 = tclk (Internal Bus clock)
  13. 1 = cpuclk (CPU clock)
  14. 2 = l2clk (L2 Cache clock)
  15. 3 = ddrclk (DDR clock)
  16. The following is a list of provided IDs and clock names on Armada 380/385:
  17. 0 = tclk (Internal Bus clock)
  18. 1 = cpuclk (CPU clock)
  19. 2 = l2clk (L2 Cache clock)
  20. 3 = ddrclk (DDR clock)
  21. The following is a list of provided IDs and clock names on Armada 39x:
  22. 0 = tclk (Internal Bus clock)
  23. 1 = cpuclk (CPU clock)
  24. 2 = nbclk (Coherent Fabric clock)
  25. 3 = hclk (SDRAM Controller Internal Clock)
  26. 4 = dclk (SDRAM Interface Clock)
  27. 5 = refclk (Reference Clock)
  28. The following is a list of provided IDs and clock names on Kirkwood and Dove:
  29. 0 = tclk (Internal Bus clock)
  30. 1 = cpuclk (CPU0 clock)
  31. 2 = l2clk (L2 Cache clock derived from CPU0 clock)
  32. 3 = ddrclk (DDR controller clock derived from CPU0 clock)
  33. The following is a list of provided IDs and clock names on Orion5x:
  34. 0 = tclk (Internal Bus clock)
  35. 1 = cpuclk (CPU0 clock)
  36. 2 = ddrclk (DDR controller clock derived from CPU0 clock)
  37. Required properties:
  38. - compatible : shall be one of the following:
  39. "marvell,armada-370-core-clock" - For Armada 370 SoC core clocks
  40. "marvell,armada-375-core-clock" - For Armada 375 SoC core clocks
  41. "marvell,armada-380-core-clock" - For Armada 380/385 SoC core clocks
  42. "marvell,armada-390-core-clock" - For Armada 39x SoC core clocks
  43. "marvell,armada-xp-core-clock" - For Armada XP SoC core clocks
  44. "marvell,dove-core-clock" - for Dove SoC core clocks
  45. "marvell,kirkwood-core-clock" - for Kirkwood SoC (except mv88f6180)
  46. "marvell,mv88f6180-core-clock" - for Kirkwood MV88f6180 SoC
  47. "marvell,mv88f5182-core-clock" - for Orion MV88F5182 SoC
  48. "marvell,mv88f5281-core-clock" - for Orion MV88F5281 SoC
  49. "marvell,mv88f6183-core-clock" - for Orion MV88F6183 SoC
  50. - reg : shall be the register address of the Sample-At-Reset (SAR) register
  51. - #clock-cells : from common clock binding; shall be set to 1
  52. Optional properties:
  53. - clock-output-names : from common clock binding; allows overwrite default clock
  54. output names ("tclk", "cpuclk", "l2clk", "ddrclk")
  55. Example:
  56. core_clk: core-clocks@d0214 {
  57. compatible = "marvell,dove-core-clock";
  58. reg = <0xd0214 0x4>;
  59. #clock-cells = <1>;
  60. };
  61. spi0: spi@10600 {
  62. compatible = "marvell,orion-spi";
  63. /* ... */
  64. /* get tclk from core clock provider */
  65. clocks = <&core_clk 0>;
  66. };