[PATCH v2 00/18] Add audio support for the MediaTek Genio 350-evk board

From: Alexandre Mergnat
Date: Tue Apr 09 2024 - 06:14:01 EST


This serie aim to add the following audio support for the Genio 350-evk:
- Playback
- 2ch Headset Jack (Earphone)
- 1ch Line-out Jack (Speaker)
- 8ch HDMI Tx
- Capture
- 1ch DMIC (On-board Digital Microphone)
- 1ch AMIC (On-board Analogic Microphone)
- 1ch Headset Jack (External Analogic Microphone)

Of course, HDMI playback need the MT8365 display patches [1] and a DTS
change documented in "mediatek,mt8365-mt6357.yaml".

Rebase on top of sound/for-next branch and the
Angelo's serie "SoC: Cleanup MediaTek soundcard machine drivers" [2]
Work branch with all patches [5]

Applied patch:
- mfd: mt6397-core: register mt6357 sound codec

Test passed:
- mixer-test log: [3]
- pcm-test log: [4]

[1]: https://lore.kernel.org/all/20231023-display-support-v1-0-5c860ed5c33b@xxxxxxxxxxxx/
[2]: https://lore.kernel.org/all/20240313110147.1267793-1-angelogioacchino.delregno@xxxxxxxxxxxxx/
[3]: https://pastebin.com/pc43AVrT
[4]: https://pastebin.com/cCtGhDpg
[5]: https://gitlab.baylibre.com/baylibre/mediatek/bsp/linux/-/commits/sound/for-next/add-i350-audio-support

Signed-off-by: Alexandre Mergnat <amergnat@xxxxxxxxxxxx>
---
Changes in v2:
- Documentation fixed:
- Remove spurious description.
- Change property order to fit with dts coding style rules.
- micbias property: use microvolt value instead of index.
- mediatek,i2s-shared-clock property removed.
- mediatek,dmic-iir-on property removed.
- mediatek,dmic-irr-mode property removed.
- Change dmic-two-wire-mode => dmic-mode to be aligned with another SoC
- Remove the spurious 2nd reg of the afe.
- Manage IIR filter feature using audio controls.
- Fix audio controls to pass mixer-test and pcm-test.
- Refactor some const name according to feedbacks.
- Rework the codec to remove spurious driver data.
- Use the new common MTK probe functions for AFE PCM and sound card.
- Rework pinctrl probe in the soundcard driver.
- Remove spurious "const" variables in all files.
- Link to v1: https://lore.kernel.org/r/20240226-audio-i350-v1-0-4fa1cea1667f@xxxxxxxxxxxx

---
Alexandre Mergnat (16):
ASoC: dt-bindings: mediatek,mt8365-afe: Add audio afe document
ASoC: dt-bindings: mediatek,mt8365-mt6357: Add audio sound card document
dt-bindings: mfd: mediatek: Add codec property for MT6357 PMIC
ASoC: dt-bindings: mt6357: Add audio codec document
ASoC: mediatek: mt8365: Add common header
SoC: mediatek: mt8365: support audio clock control
ASoC: mediatek: mt8365: Add I2S DAI support
ASoC: mediatek: mt8365: Add ADDA DAI support
ASoC: mediatek: mt8365: Add DMIC DAI support
ASoC: mediatek: mt8365: Add PCM DAI support
ASoC: mediatek: mt8365: Add platform driver
ASoC: mediatek: Add MT8365 support
arm64: defconfig: enable mt8365 sound
arm64: dts: mediatek: add mt6357 audio codec support
arm64: dts: mediatek: add afe support for mt8365 SoC
arm64: dts: mediatek: add audio support for mt8365-evk

Nicolas Belin (2):
ASoc: mediatek: mt8365: Add a specific soundcard for EVK
ASoC: codecs: add MT6357 support

.../devicetree/bindings/mfd/mediatek,mt6357.yaml | 5 +
.../bindings/sound/mediatek,mt8365-afe.yaml | 136 ++
.../bindings/sound/mediatek,mt8365-mt6357.yaml | 99 +
.../devicetree/bindings/sound/mt6357.yaml | 54 +
arch/arm64/boot/dts/mediatek/mt6357.dtsi | 5 +-
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 98 +-
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 46 +-
arch/arm64/configs/defconfig | 2 +
sound/soc/codecs/Kconfig | 7 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/mt6357.c | 1898 ++++++++++++++++
sound/soc/codecs/mt6357.h | 662 ++++++
sound/soc/mediatek/Kconfig | 20 +
sound/soc/mediatek/Makefile | 1 +
sound/soc/mediatek/mt8365/Makefile | 15 +
sound/soc/mediatek/mt8365/mt8365-afe-clk.c | 451 ++++
sound/soc/mediatek/mt8365/mt8365-afe-clk.h | 49 +
sound/soc/mediatek/mt8365/mt8365-afe-common.h | 491 +++++
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c | 2275 ++++++++++++++++++++
sound/soc/mediatek/mt8365/mt8365-dai-adda.c | 315 +++
sound/soc/mediatek/mt8365/mt8365-dai-dmic.c | 347 +++
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c | 854 ++++++++
sound/soc/mediatek/mt8365/mt8365-dai-pcm.c | 293 +++
sound/soc/mediatek/mt8365/mt8365-mt6357.c | 348 +++
sound/soc/mediatek/mt8365/mt8365-reg.h | 991 +++++++++
25 files changed, 9456 insertions(+), 8 deletions(-)
---
base-commit: 6a3d4a830e4e9de8e8aefc233d790bef4a5c0037
change-id: 20240226-audio-i350-4e11da088e55

Best regards,
--
Alexandre Mergnat <amergnat@xxxxxxxxxxxx>