clk-exynos-audss.txt 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. * Samsung Audio Subsystem Clock Controller
  2. The Samsung Audio Subsystem clock controller generates and supplies clocks
  3. to Audio Subsystem block available in the S5PV210 and Exynos SoCs. The clock
  4. binding described here is applicable to all SoCs in Exynos family.
  5. Required Properties:
  6. - compatible: should be one of the following:
  7. - "samsung,exynos4210-audss-clock" - controller compatible with all Exynos4 SoCs.
  8. - "samsung,exynos5250-audss-clock" - controller compatible with Exynos5250
  9. SoCs.
  10. - "samsung,exynos5410-audss-clock" - controller compatible with Exynos5410
  11. SoCs.
  12. - "samsung,exynos5420-audss-clock" - controller compatible with Exynos5420
  13. SoCs.
  14. - reg: physical base address and length of the controller's register set.
  15. - #clock-cells: should be 1.
  16. - clocks:
  17. - pll_ref: Fixed rate PLL reference clock, parent of mout_audss. "fin_pll"
  18. is used if not specified.
  19. - pll_in: Input PLL to the AudioSS block, parent of mout_audss. "fout_epll"
  20. is used if not specified.
  21. - cdclk: External i2s clock, parent of mout_i2s. "cdclk0" is used if not
  22. specified.
  23. - sclk_audio: Audio bus clock, parent of mout_i2s. "sclk_audio0" is used if
  24. not specified.
  25. - sclk_pcm_in: PCM clock, parent of sclk_pcm. "sclk_pcm0" is used if not
  26. specified.
  27. - clock-names: Aliases for the above clocks. They should be "pll_ref",
  28. "pll_in", "cdclk", "sclk_audio", and "sclk_pcm_in" respectively.
  29. Optional Properties:
  30. - power-domains: a phandle to respective power domain node as described by
  31. generic PM domain bindings (see power/power_domain.txt for more
  32. information).
  33. The following is the list of clocks generated by the controller. Each clock is
  34. assigned an identifier and client nodes use this identifier to specify the
  35. clock which they consume. Some of the clocks are available only on a particular
  36. Exynos4 SoC and this is specified where applicable.
  37. Provided clocks:
  38. Clock ID SoC (if specific)
  39. -----------------------------------------------
  40. mout_audss 0
  41. mout_i2s 1
  42. dout_srp 2
  43. dout_aud_bus 3
  44. dout_i2s 4
  45. srp_clk 5
  46. i2s_bus 6
  47. sclk_i2s 7
  48. pcm_bus 8
  49. sclk_pcm 9
  50. adma 10 Exynos5420
  51. Example 1: An example of a clock controller node using the default input
  52. clock names is listed below.
  53. clock_audss: audss-clock-controller@3810000 {
  54. compatible = "samsung,exynos5250-audss-clock";
  55. reg = <0x03810000 0x0C>;
  56. #clock-cells = <1>;
  57. };
  58. Example 2: An example of a clock controller node with the input clocks
  59. specified.
  60. clock_audss: audss-clock-controller@3810000 {
  61. compatible = "samsung,exynos5250-audss-clock";
  62. reg = <0x03810000 0x0C>;
  63. #clock-cells = <1>;
  64. clocks = <&clock 1>, <&clock 7>, <&clock 138>, <&clock 160>,
  65. <&ext_i2s_clk>;
  66. clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in", "cdclk";
  67. };
  68. Example 3: I2S controller node that consumes the clock generated by the clock
  69. controller. Refer to the standard clock bindings for information
  70. about 'clocks' and 'clock-names' property.
  71. i2s0: i2s@3830000 {
  72. compatible = "samsung,i2s-v5";
  73. reg = <0x03830000 0x100>;
  74. dmas = <&pdma0 10
  75. &pdma0 9
  76. &pdma0 8>;
  77. dma-names = "tx", "rx", "tx-sec";
  78. clocks = <&clock_audss EXYNOS_I2S_BUS>,
  79. <&clock_audss EXYNOS_I2S_BUS>,
  80. <&clock_audss EXYNOS_SCLK_I2S>,
  81. <&clock_audss EXYNOS_MOUT_AUDSS>,
  82. <&clock_audss EXYNOS_MOUT_I2S>;
  83. clock-names = "iis", "i2s_opclk0", "i2s_opclk1",
  84. "mout_audss", "mout_i2s";
  85. };