This patch adds basic support for Mediatek AFE for MT2701 SoC. The patch is based on broonie tree "for-next" branch.
Change since v2:
* fix comments style. * replace EXPORT_SYMBOL with EXPORT_SYMBOL_GPL * reduce debug message * move mutex lock for irq-allocated to AFE struct * remove func mtk_simple_isr and call snd_pcm_period_elapsed directly * mt2701 driver probe will fail if clock initial error * fix dapm on/off switch control naming
Change since v1:
implement common private structure, fe dai and platform driver. let mt8173 and mt2701 use the common structure.
Garlic Tseng (9): ASoC: mediatek: Refine mt8173 driver and change config option ASoC: mediatek: implement mediatek common structure ASoC: mediatek: let mt8173 use mediatek common structure ASoC: mediatek: add documents for mt2701 ASoC: mediatek: add structure define and clock control for 2701 ASoC: mediatek: add mt2701 platform driver implementation. ASoC: bt-sco: extend rate and add a general compatible string ASoC: mediatek: add BT implementation ASoC: mediatek: Add mt2701-cs42448 driver and config option.
Documentation/devicetree/bindings/sound/bt-sco.txt | 2 +- .../devicetree/bindings/sound/mt2701-afe-pcm.txt | 150 ++ .../devicetree/bindings/sound/mt2701-cs42448.txt | 43 + sound/soc/codecs/bt-sco.c | 5 +- sound/soc/mediatek/Kconfig | 44 +- sound/soc/mediatek/Makefile | 11 +- sound/soc/mediatek/common/Makefile | 17 + sound/soc/mediatek/common/mtk-afe-fe-dai.c | 379 +++++ sound/soc/mediatek/common/mtk-afe-fe-dai.h | 45 + .../soc/mediatek/common/mtk-afe-platform-driver.c | 90 ++ .../soc/mediatek/common/mtk-afe-platform-driver.h | 23 + sound/soc/mediatek/common/mtk-base-afe.h | 104 ++ sound/soc/mediatek/mt2701/Makefile | 19 + sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c | 464 ++++++ sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.h | 38 + sound/soc/mediatek/mt2701/mt2701-afe-common.h | 181 +++ sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 1698 ++++++++++++++++++++ sound/soc/mediatek/mt2701/mt2701-cs42448.c | 422 +++++ sound/soc/mediatek/mt2701/mt2701-reg.h | 186 +++ sound/soc/mediatek/mt8173/Makefile | 7 + sound/soc/mediatek/mt8173/mt8173-afe-common.h | 73 + .../{mtk-afe-pcm.c => mt8173/mt8173-afe-pcm.c} | 921 +++++------ sound/soc/mediatek/{ => mt8173}/mt8173-max98090.c | 2 +- .../mediatek/{ => mt8173}/mt8173-rt5650-rt5514.c | 2 +- .../mediatek/{ => mt8173}/mt8173-rt5650-rt5676.c | 4 +- sound/soc/mediatek/{ => mt8173}/mt8173-rt5650.c | 2 +- sound/soc/mediatek/mtk-afe-common.h | 101 -- 27 files changed, 4399 insertions(+), 634 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt create mode 100644 Documentation/devicetree/bindings/sound/mt2701-cs42448.txt create mode 100644 sound/soc/mediatek/common/Makefile create mode 100644 sound/soc/mediatek/common/mtk-afe-fe-dai.c create mode 100644 sound/soc/mediatek/common/mtk-afe-fe-dai.h create mode 100644 sound/soc/mediatek/common/mtk-afe-platform-driver.c create mode 100644 sound/soc/mediatek/common/mtk-afe-platform-driver.h create mode 100644 sound/soc/mediatek/common/mtk-base-afe.h create mode 100644 sound/soc/mediatek/mt2701/Makefile create mode 100644 sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.c create mode 100644 sound/soc/mediatek/mt2701/mt2701-afe-clock-ctrl.h create mode 100644 sound/soc/mediatek/mt2701/mt2701-afe-common.h create mode 100644 sound/soc/mediatek/mt2701/mt2701-afe-pcm.c create mode 100644 sound/soc/mediatek/mt2701/mt2701-cs42448.c create mode 100644 sound/soc/mediatek/mt2701/mt2701-reg.h create mode 100644 sound/soc/mediatek/mt8173/Makefile create mode 100644 sound/soc/mediatek/mt8173/mt8173-afe-common.h rename sound/soc/mediatek/{mtk-afe-pcm.c => mt8173/mt8173-afe-pcm.c} (51%) rename sound/soc/mediatek/{ => mt8173}/mt8173-max98090.c (99%) rename sound/soc/mediatek/{ => mt8173}/mt8173-rt5650-rt5514.c (99%) rename sound/soc/mediatek/{ => mt8173}/mt8173-rt5650-rt5676.c (99%) rename sound/soc/mediatek/{ => mt8173}/mt8173-rt5650.c (99%) delete mode 100644 sound/soc/mediatek/mtk-afe-common.h