Add mediatek codec (MT6359) driver
MT6359 support playback and capture feature.
On downlink path, it includes three DACs for handset, headset, and lineout path. On unlink path, it includeds three ADCs for main mic, second mic, 3rd mic, and headset mic.
By scenario, select *_MUX widget to create damp path. And by select mic_type_mux to choose DMIC/AMIC/....
For example, select these MUX widget to create headset path (1) DAC In Mux --> "Normal Path" (2) HP Mux --> "Audio Playback"
v6 changes: 1. Remove the compatible string in mt6359codec because MFD should be registering the platform device.
v5 changes: 1. Don't need to unregister the component whic is already relegated to devm. 2. patchwork link: https://patchwork.kernel.org/cover/11716387/ https://patchwork.kernel.org/patch/11717757/ https://patchwork.kernel.org/patch/11716491/
v4 changes: 1. Add a remove() function to undo regulator_enable(). 2. Removed unnecessary logs. 3. patchwork link: https://patchwork.kernel.org/cover/11715553/ https://patchwork.kernel.org/patch/11716015/ https://patchwork.kernel.org/patch/11715557/
v3 changes: 1. patchwork link: https://patchwork.kernel.org/cover/11714291/ https://patchwork.kernel.org/patch/11714295/ https://patchwork.kernel.org/patch/11714339/
v2 changes: 1. patchwork link: https://patchwork.kernel.org/cover/11706935/ https://patchwork.kernel.org/patch/11708865/ https://patchwork.kernel.org/patch/11706937/
v1 changes: 1.lkml link: https://lkml.org/lkml/2020/3/5/1257
Jiaxin Yu (2): ASoC: mediatek: mt6359: add codec driver dt-bindings: mediatek: mt6359: add codec document
.../devicetree/bindings/sound/mt6359.yaml | 61 + sound/soc/codecs/Kconfig | 8 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/mt6359.c | 2753 +++++++++++++++++ sound/soc/codecs/mt6359.h | 2640 ++++++++++++++++ 5 files changed, 5464 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/mt6359.yaml create mode 100644 sound/soc/codecs/mt6359.c create mode 100644 sound/soc/codecs/mt6359.h