summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2026-04-24 05:50:11 +0300
committerMark Brown <broonie@kernel.org>2026-05-05 04:52:06 +0300
commit0e2f1d39c2bf68d181b72ea51ef1e778c04140e4 (patch)
treef701fd37e94869168fb4869e06fc2210bbc5400b /include/linux
parent06efb5f1b777c880d2f9f102a0e169a56e974cb0 (diff)
downloadlinux-0e2f1d39c2bf68d181b72ea51ef1e778c04140e4.tar.xz
ASoC: mediatek: mt2701: add HDMI audio memif, FE and BE DAIs
Extend the MT2701/MT7623N AFE driver with the HDMI playback path: - a new HDMI DMA memif (MT2701_MEMIF_HDMI) mapped to the AFE_HDMI_OUT_{CON0,BASE,CUR,END} registers; - a PCM_HDMI front-end DAI (S16_LE only, 44.1k/48k) which feeds the memif via DPCM; - an HDMI BE DAI wrapping the AFE_8CH_I2S_OUT_CON engine that serialises L/R samples towards the on-chip HDMI transmitter. Sample-rate programming uses the empirically determined HDMI_BCK_DIV = 45 * 48000 / rate - 1 formula in AUDIO_TOP_CON3, which covers 44.1 kHz and 48 kHz within the 6-bit divider range. The AFE_HDMI_CONN0 interconnect is programmed to route memif output pairs to the serializer inputs with L/R in the right order for hdmi-audio-codec. The existing I2S engine helpers (mt2701_mclk_configuration, mt2701_i2s_path_enable, mt2701_afe_i2s_path_disable) are reused for the HDMI BE so that MCLK at 128*fs and the ASYS I2S3 FS field are programmed and cleanly released across open/close cycles. Only S16_LE and 44.1k/48k are exposed to userspace. Other rates fall outside the 6-bit BCK divider range, and wider sample formats require DMA BIT_WIDTH programming that the current memif setup does not handle. These limits match what the MT8173 AFE driver exposes for its HDMI path. The HDMI-related AFE registers (AUDIO_TOP_CON3, AFE_HDMI_OUT_CON0, AFE_HDMI_CONN0, AFE_8CH_I2S_OUT_CON) are added to the suspend backup list so that the existing mtk_afe_suspend/resume framework saves and restores them across system sleep cycles. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Link: https://patch.msgid.link/a580d6d676bcdba3d8bad94bb3bcb91a336bf1ba.1776998727.git.daniel@makrotopia.org Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions