summaryrefslogtreecommitdiffstats
path: root/sound/hda
diff options
context:
space:
mode:
authorTrevor Wu <trevor.wu@mediatek.com>2021-08-19 16:41:36 +0800
committerMark Brown <broonie@kernel.org>2021-08-24 19:13:53 +0100
commit1de9a54acafba2f0e3ea2856ad0b22556d59ec45 (patch)
tree728a2c957e8a3502b5f3a39e34cc580fd55e1a24 /sound/hda
parentd62ad762f67585acfb5e03f71b28a52dc4604cf2 (diff)
downloadlinux-1de9a54acafba2f0e3ea2856ad0b22556d59ec45.tar.bz2
ASoC: mediatek: mt8195: support etdm in platform driver
This patch adds mt8195 tdm/i2s dai driver. MCLK clock tree is as follows. PLL -> MUX -> DIVIDER -> MCLK For PLL source of MCLK, driver only supports APLL1 and APLL2 now. APLL3 and APLL4 are used to track external clock source, so they are only used when slave input is connected. For example, case 1: (HDMI RX connected) DL memif (a1sys) -> etdm out2 (clk from apll1/apll2) -> codec case 2: (HDMI RX disconnected) HDMI RX -> a3sys -> UL memif (a3sys) -> DL memif (a3sys) -> .... -> etdm out2 (clk from apll3) -> codec We keep all modules in the pipeline working on the same clock domain. MCLK is expected to output the clock generated from the same clock source as the pipeline, so dynamic reparenting is required for MCLK configuration. As a result, clk_set_parent() is used to select PLL source, and clk_set_rate() is used to configure divider to get MCLK output rate. Signed-off-by: Trevor Wu <trevor.wu@mediatek.com> Link: https://lore.kernel.org/r/20210819084144.18483-4-trevor.wu@mediatek.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/hda')
0 files changed, 0 insertions, 0 deletions