mt2701-afe-pcm.txt 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. Mediatek AFE PCM controller for mt2701
  2. Required properties:
  3. - compatible: should be one of the followings.
  4. - "mediatek,mt2701-audio"
  5. - "mediatek,mt7622-audio"
  6. - interrupts: should contain AFE and ASYS interrupts
  7. - interrupt-names: should be "afe" and "asys"
  8. - power-domains: should define the power domain
  9. - clocks: Must contain an entry for each entry in clock-names
  10. See ../clocks/clock-bindings.txt for details
  11. - clock-names: should have these clock names:
  12. "infra_sys_audio_clk",
  13. "top_audio_mux1_sel",
  14. "top_audio_mux2_sel",
  15. "top_audio_a1sys_hp",
  16. "top_audio_a2sys_hp",
  17. "i2s0_src_sel",
  18. "i2s1_src_sel",
  19. "i2s2_src_sel",
  20. "i2s3_src_sel",
  21. "i2s0_src_div",
  22. "i2s1_src_div",
  23. "i2s2_src_div",
  24. "i2s3_src_div",
  25. "i2s0_mclk_en",
  26. "i2s1_mclk_en",
  27. "i2s2_mclk_en",
  28. "i2s3_mclk_en",
  29. "i2so0_hop_ck",
  30. "i2so1_hop_ck",
  31. "i2so2_hop_ck",
  32. "i2so3_hop_ck",
  33. "i2si0_hop_ck",
  34. "i2si1_hop_ck",
  35. "i2si2_hop_ck",
  36. "i2si3_hop_ck",
  37. "asrc0_out_ck",
  38. "asrc1_out_ck",
  39. "asrc2_out_ck",
  40. "asrc3_out_ck",
  41. "audio_afe_pd",
  42. "audio_afe_conn_pd",
  43. "audio_a1sys_pd",
  44. "audio_a2sys_pd",
  45. "audio_mrgif_pd";
  46. - assigned-clocks: list of input clocks and dividers for the audio system.
  47. See ../clocks/clock-bindings.txt for details.
  48. - assigned-clocks-parents: parent of input clocks of assigned clocks.
  49. - assigned-clock-rates: list of clock frequencies of assigned clocks.
  50. Must be a subnode of MediaTek audsys device tree node.
  51. See ../arm/mediatek/mediatek,audsys.txt for details about the parent node.
  52. Example:
  53. audsys: audio-subsystem@11220000 {
  54. compatible = "mediatek,mt2701-audsys", "syscon";
  55. ...
  56. afe: audio-controller {
  57. compatible = "mediatek,mt2701-audio";
  58. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
  59. <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
  60. interrupt-names = "afe", "asys";
  61. power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>;
  62. clocks = <&infracfg CLK_INFRA_AUDIO>,
  63. <&topckgen CLK_TOP_AUD_MUX1_SEL>,
  64. <&topckgen CLK_TOP_AUD_MUX2_SEL>,
  65. <&topckgen CLK_TOP_AUD_48K_TIMING>,
  66. <&topckgen CLK_TOP_AUD_44K_TIMING>,
  67. <&topckgen CLK_TOP_AUD_K1_SRC_SEL>,
  68. <&topckgen CLK_TOP_AUD_K2_SRC_SEL>,
  69. <&topckgen CLK_TOP_AUD_K3_SRC_SEL>,
  70. <&topckgen CLK_TOP_AUD_K4_SRC_SEL>,
  71. <&topckgen CLK_TOP_AUD_K1_SRC_DIV>,
  72. <&topckgen CLK_TOP_AUD_K2_SRC_DIV>,
  73. <&topckgen CLK_TOP_AUD_K3_SRC_DIV>,
  74. <&topckgen CLK_TOP_AUD_K4_SRC_DIV>,
  75. <&topckgen CLK_TOP_AUD_I2S1_MCLK>,
  76. <&topckgen CLK_TOP_AUD_I2S2_MCLK>,
  77. <&topckgen CLK_TOP_AUD_I2S3_MCLK>,
  78. <&topckgen CLK_TOP_AUD_I2S4_MCLK>,
  79. <&audsys CLK_AUD_I2SO1>,
  80. <&audsys CLK_AUD_I2SO2>,
  81. <&audsys CLK_AUD_I2SO3>,
  82. <&audsys CLK_AUD_I2SO4>,
  83. <&audsys CLK_AUD_I2SIN1>,
  84. <&audsys CLK_AUD_I2SIN2>,
  85. <&audsys CLK_AUD_I2SIN3>,
  86. <&audsys CLK_AUD_I2SIN4>,
  87. <&audsys CLK_AUD_ASRCO1>,
  88. <&audsys CLK_AUD_ASRCO2>,
  89. <&audsys CLK_AUD_ASRCO3>,
  90. <&audsys CLK_AUD_ASRCO4>,
  91. <&audsys CLK_AUD_AFE>,
  92. <&audsys CLK_AUD_AFE_CONN>,
  93. <&audsys CLK_AUD_A1SYS>,
  94. <&audsys CLK_AUD_A2SYS>,
  95. <&audsys CLK_AUD_AFE_MRGIF>;
  96. clock-names = "infra_sys_audio_clk",
  97. "top_audio_mux1_sel",
  98. "top_audio_mux2_sel",
  99. "top_audio_a1sys_hp",
  100. "top_audio_a2sys_hp",
  101. "i2s0_src_sel",
  102. "i2s1_src_sel",
  103. "i2s2_src_sel",
  104. "i2s3_src_sel",
  105. "i2s0_src_div",
  106. "i2s1_src_div",
  107. "i2s2_src_div",
  108. "i2s3_src_div",
  109. "i2s0_mclk_en",
  110. "i2s1_mclk_en",
  111. "i2s2_mclk_en",
  112. "i2s3_mclk_en",
  113. "i2so0_hop_ck",
  114. "i2so1_hop_ck",
  115. "i2so2_hop_ck",
  116. "i2so3_hop_ck",
  117. "i2si0_hop_ck",
  118. "i2si1_hop_ck",
  119. "i2si2_hop_ck",
  120. "i2si3_hop_ck",
  121. "asrc0_out_ck",
  122. "asrc1_out_ck",
  123. "asrc2_out_ck",
  124. "asrc3_out_ck",
  125. "audio_afe_pd",
  126. "audio_afe_conn_pd",
  127. "audio_a1sys_pd",
  128. "audio_a2sys_pd",
  129. "audio_mrgif_pd";
  130. assigned-clocks = <&topckgen CLK_TOP_AUD_MUX1_SEL>,
  131. <&topckgen CLK_TOP_AUD_MUX2_SEL>,
  132. <&topckgen CLK_TOP_AUD_MUX1_DIV>,
  133. <&topckgen CLK_TOP_AUD_MUX2_DIV>;
  134. assigned-clock-parents = <&topckgen CLK_TOP_AUD1PLL_98M>,
  135. <&topckgen CLK_TOP_AUD2PLL_90M>;
  136. assigned-clock-rates = <0>, <0>, <49152000>, <45158400>;
  137. };
  138. };