zynq-7000.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. Device Tree Clock bindings for the Zynq 7000 EPP
  2. The Zynq EPP has several different clk providers, each with there own bindings.
  3. The purpose of this document is to document their usage.
  4. See clock_bindings.txt for more information on the generic clock bindings.
  5. See Chapter 25 of Zynq TRM for more information about Zynq clocks.
  6. == Clock Controller ==
  7. The clock controller is a logical abstraction of Zynq's clock tree. It reads
  8. required input clock frequencies from the devicetree and acts as clock provider
  9. for all clock consumers of PS clocks.
  10. Required properties:
  11. - #clock-cells : Must be 1
  12. - compatible : "xlnx,ps7-clkc"
  13. - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ
  14. (usually 33 MHz oscillators are used for Zynq platforms)
  15. - clock-output-names : List of strings used to name the clock outputs. Shall be
  16. a list of the outputs given below.
  17. Optional properties:
  18. - clocks : as described in the clock bindings
  19. - clock-names : as described in the clock bindings
  20. Clock inputs:
  21. The following strings are optional parameters to the 'clock-names' property in
  22. order to provide an optional (E)MIO clock source.
  23. - swdt_ext_clk
  24. - gem0_emio_clk
  25. - gem1_emio_clk
  26. - mio_clk_XX # with XX = 00..53
  27. ...
  28. Clock outputs:
  29. 0: armpll
  30. 1: ddrpll
  31. 2: iopll
  32. 3: cpu_6or4x
  33. 4: cpu_3or2x
  34. 5: cpu_2x
  35. 6: cpu_1x
  36. 7: ddr2x
  37. 8: ddr3x
  38. 9: dci
  39. 10: lqspi
  40. 11: smc
  41. 12: pcap
  42. 13: gem0
  43. 14: gem1
  44. 15: fclk0
  45. 16: fclk1
  46. 17: fclk2
  47. 18: fclk3
  48. 19: can0
  49. 20: can1
  50. 21: sdio0
  51. 22: sdio1
  52. 23: uart0
  53. 24: uart1
  54. 25: spi0
  55. 26: spi1
  56. 27: dma
  57. 28: usb0_aper
  58. 29: usb1_aper
  59. 30: gem0_aper
  60. 31: gem1_aper
  61. 32: sdio0_aper
  62. 33: sdio1_aper
  63. 34: spi0_aper
  64. 35: spi1_aper
  65. 36: can0_aper
  66. 37: can1_aper
  67. 38: i2c0_aper
  68. 39: i2c1_aper
  69. 40: uart0_aper
  70. 41: uart1_aper
  71. 42: gpio_aper
  72. 43: lqspi_aper
  73. 44: smc_aper
  74. 45: swdt
  75. 46: dbg_trc
  76. 47: dbg_apb
  77. Example:
  78. clkc: clkc {
  79. #clock-cells = <1>;
  80. compatible = "xlnx,ps7-clkc";
  81. ps-clk-frequency = <33333333>;
  82. clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x",
  83. "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x",
  84. "dci", "lqspi", "smc", "pcap", "gem0", "gem1",
  85. "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1",
  86. "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1",
  87. "dma", "usb0_aper", "usb1_aper", "gem0_aper",
  88. "gem1_aper", "sdio0_aper", "sdio1_aper",
  89. "spi0_aper", "spi1_aper", "can0_aper", "can1_aper",
  90. "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper",
  91. "gpio_aper", "lqspi_aper", "smc_aper", "swdt",
  92. "dbg_trc", "dbg_apb";
  93. # optional props
  94. clocks = <&clkc 16>, <&clk_foo>;
  95. clock-names = "gem1_emio_clk", "can_mio_clk_23";
  96. };