8dc08c82af
Merge series from Trevor Wu <trevor.wu@mediatek.com>: This series of patches adds support for Mediatek AFE of MT8188 SoC. Patches are based on broonie tree "for-next" branch. Changes since v4: - refine etdm dai driver based on reviewer's suggestions - refine dt-binding files based on reviewer's suggestions Changes since v3: - replace apll_ck with apll to sync with the relationship in CCF - add mtk-soundcard-driver.c to support codec parsing - drop mclk-always-on-rates support in mt8188-dai-etdm.c - refine dt-binding files based on reviewer's suggestions Changes since v2: - drop CLK_IGNORE_UNUSED flag - include bitfield.h to reslove the issue reported by kernel test robot - rename mt8188-afe-pcm.yaml to mt8188-afe.yaml - refine dt-binding files based on reviewer's suggestions Changes since v1: - remove bus protection functions in case of unmerged dependency problem - replace some bit operation macro with FIELD_PREP - simplify register control by regmap_set_bits and regmap_clear_bits - fix dt-binding errors - rename compatible string for recognition Trevor Wu (13): ASoC: mediatek: common: add SMC ops and SMC CMD ASoC: mediatek: mt8188: add common header ASoC: mediatek: mt8188: support audsys clock ASoC: mediatek: mt8188: support adda in platform driver ASoC: mediatek: mt8188: support etdm in platform driver ASoC: mediatek: mt8188: support pcmif in platform driver ASoC: mediatek: mt8188: support audio clock control ASoC: mediatek: mt8188: add platform driver ASoC: mediatek: mt8188: add control for timing select ASoC: dt-bindings: mediatek,mt8188-afe: add audio afe document ASoC: mediatek: common: add soundcard driver common code ASoC: mediatek: mt8188: add machine driver with mt6359 ASoC: dt-bindings: mediatek,mt8188-mt6359: add mt8188-mt6359 document .../bindings/sound/mediatek,mt8188-afe.yaml | 208 + .../sound/mediatek,mt8188-mt6359.yaml | 97 + sound/soc/mediatek/Kconfig | 23 + sound/soc/mediatek/Makefile | 1 + sound/soc/mediatek/common/Makefile | 2 +- sound/soc/mediatek/common/mtk-base-afe.h | 19 + .../mediatek/common/mtk-soundcard-driver.c | 79 + .../mediatek/common/mtk-soundcard-driver.h | 14 + sound/soc/mediatek/mt8188/Makefile | 15 + sound/soc/mediatek/mt8188/mt8188-afe-clk.c | 658 ++++ sound/soc/mediatek/mt8188/mt8188-afe-clk.h | 115 + sound/soc/mediatek/mt8188/mt8188-afe-common.h | 151 + sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 3359 +++++++++++++++++ sound/soc/mediatek/mt8188/mt8188-audsys-clk.c | 205 + sound/soc/mediatek/mt8188/mt8188-audsys-clk.h | 15 + .../soc/mediatek/mt8188/mt8188-audsys-clkid.h | 83 + sound/soc/mediatek/mt8188/mt8188-dai-adda.c | 632 ++++ sound/soc/mediatek/mt8188/mt8188-dai-etdm.c | 2588 +++++++++++++ sound/soc/mediatek/mt8188/mt8188-dai-pcm.c | 367 ++ sound/soc/mediatek/mt8188/mt8188-mt6359.c | 785 ++++ sound/soc/mediatek/mt8188/mt8188-reg.h | 3180 ++++++++++++++++ 21 files changed, 12595 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml create mode 100644 sound/soc/mediatek/common/mtk-soundcard-driver.c create mode 100644 sound/soc/mediatek/common/mtk-soundcard-driver.h create mode 100644 sound/soc/mediatek/mt8188/Makefile create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-clk.c create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-clk.h create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-common.h create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-pcm.c create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clk.c create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clk.h create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clkid.h create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-adda.c create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-etdm.c create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-pcm.c create mode 100644 sound/soc/mediatek/mt8188/mt8188-mt6359.c create mode 100644 sound/soc/mediatek/mt8188/mt8188-reg.h -- 2.18.0
289 lines
8.6 KiB
Plaintext
289 lines
8.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config SND_SOC_MEDIATEK
|
|
tristate
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_MT2701
|
|
tristate "ASoC support for Mediatek MT2701 chip"
|
|
depends on ARCH_MEDIATEK
|
|
select SND_SOC_MEDIATEK
|
|
help
|
|
This adds ASoC driver for Mediatek MT2701 boards
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT2701_CS42448
|
|
tristate "ASoc Audio driver for MT2701 with CS42448 codec"
|
|
depends on SND_SOC_MT2701 && I2C
|
|
select SND_SOC_CS42XX8_I2C
|
|
select SND_SOC_BT_SCO
|
|
help
|
|
This adds ASoC driver for Mediatek MT2701 boards
|
|
with the CS42448 codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT2701_WM8960
|
|
tristate "ASoc Audio driver for MT2701 with WM8960 codec"
|
|
depends on SND_SOC_MT2701 && I2C
|
|
select SND_SOC_WM8960
|
|
help
|
|
This adds ASoC driver for Mediatek MT2701 boards
|
|
with the WM8960 codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT6797
|
|
tristate "ASoC support for Mediatek MT6797 chip"
|
|
depends on ARCH_MEDIATEK
|
|
select SND_SOC_MEDIATEK
|
|
help
|
|
This adds ASoC driver for Mediatek MT6797 boards
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT6797_MT6351
|
|
tristate "ASoc Audio driver for MT6797 with MT6351 codec"
|
|
depends on SND_SOC_MT6797 && MTK_PMIC_WRAP
|
|
select SND_SOC_MT6351
|
|
help
|
|
This adds ASoC driver for Mediatek MT6797 boards
|
|
with the MT6351 codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8173
|
|
tristate "ASoC support for Mediatek MT8173 chip"
|
|
depends on ARCH_MEDIATEK
|
|
select SND_SOC_MEDIATEK
|
|
help
|
|
This adds ASoC platform driver support for Mediatek MT8173 chip
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
Ex: MT8173
|
|
|
|
config SND_SOC_MT8173_MAX98090
|
|
tristate "ASoC Audio driver for MT8173 with MAX98090 codec"
|
|
depends on SND_SOC_MT8173 && I2C
|
|
select SND_SOC_MAX98090
|
|
help
|
|
This adds ASoC driver for Mediatek MT8173 boards
|
|
with the MAX98090 audio codec.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8173_RT5650
|
|
tristate "ASoC Audio driver for MT8173 with RT5650 codec"
|
|
depends on SND_SOC_MT8173 && I2C
|
|
select SND_SOC_RT5645
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds ASoC driver for Mediatek MT8173 boards
|
|
with the RT5650 audio codec.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8173_RT5650_RT5514
|
|
tristate "ASoC Audio driver for MT8173 with RT5650 RT5514 codecs"
|
|
depends on SND_SOC_MT8173 && I2C
|
|
select SND_SOC_RT5645
|
|
select SND_SOC_RT5514
|
|
help
|
|
This adds ASoC driver for Mediatek MT8173 boards
|
|
with the RT5650 and RT5514 codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8173_RT5650_RT5676
|
|
tristate "ASoC Audio driver for MT8173 with RT5650 RT5676 codecs"
|
|
depends on SND_SOC_MT8173 && I2C
|
|
select SND_SOC_RT5645
|
|
select SND_SOC_RT5677
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds ASoC driver for Mediatek MT8173 boards
|
|
with the RT5650 and RT5676 codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8183
|
|
tristate "ASoC support for Mediatek MT8183 chip"
|
|
depends on ARCH_MEDIATEK
|
|
select SND_SOC_MEDIATEK
|
|
help
|
|
This adds ASoC platform driver support for Mediatek MT8183 chip
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A
|
|
tristate "ASoC Audio driver for MT8183 with MT6358 TS3A227E MAX98357A RT1015 codec"
|
|
depends on I2C && GPIOLIB
|
|
depends on SND_SOC_MT8183
|
|
select SND_SOC_MT6358
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_RT1015
|
|
select SND_SOC_RT1015P
|
|
select SND_SOC_BT_SCO
|
|
select SND_SOC_TS3A227E
|
|
select SND_SOC_CROS_EC_CODEC if CROS_EC
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds ASoC driver for Mediatek MT8183 boards
|
|
with the MT6358 TS3A227E MAX98357A RT1015 audio codec.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8183_DA7219_MAX98357A
|
|
tristate "ASoC Audio driver for MT8183 with DA7219 MAX98357A RT1015 codec"
|
|
depends on SND_SOC_MT8183 && I2C && GPIOLIB
|
|
select SND_SOC_MT6358
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_RT1015
|
|
select SND_SOC_RT1015P
|
|
select SND_SOC_DA7219
|
|
select SND_SOC_BT_SCO
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds ASoC driver for Mediatek MT8183 boards
|
|
with the DA7219 MAX98357A RT1015 audio codec.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8186
|
|
tristate "ASoC support for Mediatek MT8186 chip"
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
depends on COMMON_CLK
|
|
select SND_SOC_MEDIATEK
|
|
select SND_SOC_MT6358
|
|
select MFD_SYSCON if SND_SOC_MT6358
|
|
help
|
|
This adds ASoC driver for Mediatek MT8186 boards
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8186_MT6366_DA7219_MAX98357
|
|
tristate "ASoC Audio driver for MT8186 with DA7219 MAX98357A codec"
|
|
depends on I2C && GPIOLIB
|
|
depends on SND_SOC_MT8186 && MTK_PMIC_WRAP
|
|
select SND_SOC_MT6358
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_DA7219
|
|
select SND_SOC_BT_SCO
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds ASoC driver for Mediatek MT8186 boards
|
|
with the MT6366(MT6358) DA7219 MAX98357A codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8186_MT6366_RT1019_RT5682S
|
|
tristate "ASoC Audio driver for MT8186 with RT1019 RT5682S MAX98357A/MAX98360 codec"
|
|
depends on I2C && GPIOLIB
|
|
depends on SND_SOC_MT8186 && MTK_PMIC_WRAP
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_MT6358
|
|
select SND_SOC_MAX98357A
|
|
select SND_SOC_RT1015P
|
|
select SND_SOC_RT5682S
|
|
select SND_SOC_BT_SCO
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds ASoC driver for Mediatek MT8186 boards
|
|
with the MT6366(MT6358) RT1019 RT5682S codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MTK_BTCVSD
|
|
tristate "ALSA BT SCO CVSD/MSBC Driver"
|
|
help
|
|
This is for software BTCVSD. This enable
|
|
the function for transferring/receiving
|
|
BT encoded data to/from BT firmware.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8188
|
|
tristate "ASoC support for MediaTek MT8188 chip"
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
depends on COMMON_CLK
|
|
select SND_SOC_MEDIATEK
|
|
select MFD_SYSCON if SND_SOC_MT6359
|
|
help
|
|
This adds ASoC platform driver support for MediaTek MT8188 chip
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8188_MT6359
|
|
tristate "ASoC Audio driver for MT8188 with MT6359 and I2S codecs"
|
|
depends on SND_SOC_MT8188 && MTK_PMIC_WRAP
|
|
select SND_SOC_MT6359
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds support for ASoC machine driver for MediaTek MT8188
|
|
boards with the MT6359 and other I2S audio codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8192
|
|
tristate "ASoC support for Mediatek MT8192 chip"
|
|
depends on ARCH_MEDIATEK
|
|
select SND_SOC_MEDIATEK
|
|
help
|
|
This adds ASoC platform driver support for Mediatek MT8192 chip
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8192_MT6359_RT1015_RT5682
|
|
tristate "ASoC Audio driver for MT8192 with MT6359 RT1015 RT5682 codec"
|
|
depends on I2C && GPIOLIB
|
|
depends on SND_SOC_MT8192 && MTK_PMIC_WRAP
|
|
select SND_SOC_MT6359
|
|
select SND_SOC_RT1015
|
|
select SND_SOC_RT1015P
|
|
select SND_SOC_RT5682_I2C
|
|
select SND_SOC_RT5682S
|
|
select SND_SOC_DMIC
|
|
help
|
|
This adds ASoC driver for Mediatek MT8192 boards
|
|
with the MT6359 RT1015 RT5682 audio codec.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8195
|
|
tristate "ASoC support for Mediatek MT8195 chip"
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
depends on COMMON_CLK
|
|
select SND_SOC_MEDIATEK
|
|
select MFD_SYSCON if SND_SOC_MT6359
|
|
help
|
|
This adds ASoC platform driver support for Mediatek MT8195 chip
|
|
that can be used with other codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_MT8195_MT6359
|
|
tristate "ASoC Audio driver for MT8195 with MT6359 and I2S codecs"
|
|
depends on I2C && GPIOLIB
|
|
depends on SND_SOC_MT8195 && MTK_PMIC_WRAP
|
|
select SND_SOC_MT6359
|
|
select SND_SOC_RT1011
|
|
select SND_SOC_RT1015P
|
|
select SND_SOC_RT5682_I2C
|
|
select SND_SOC_RT5682S
|
|
select SND_SOC_MAX98390
|
|
select SND_SOC_DMIC
|
|
select SND_SOC_HDMI_CODEC
|
|
help
|
|
This adds support for ASoC machine driver for Mediatek MT8195
|
|
boards with the MT6359 and other I2S audio codecs.
|
|
Select Y if you have such device.
|
|
If unsure select "N".
|