Skip to content

Commit 0d1d7a6

Browse files
Garlic Tsengbroonie
authored andcommitted
ASoC: mediatek: Refine mt8173 driver and change config option
move mt8173 driver to another folder and add prefix. add config option SND_SOC_MT8173 Signed-off-by: Garlic Tseng <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent 0c198ed commit 0d1d7a6

File tree

10 files changed

+367
-369
lines changed

10 files changed

+367
-369
lines changed

sound/soc/mediatek/Kconfig

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
config SND_SOC_MEDIATEK
2-
tristate "ASoC support for Mediatek chip"
1+
config SND_SOC_MT8173
2+
tristate "ASoC support for Mediatek MT8173 chip"
33
depends on ARCH_MEDIATEK
44
help
5-
This adds ASoC platform driver support for Mediatek chip
5+
This adds ASoC platform driver support for Mediatek MT8173 chip
66
that can be used with other codecs.
77
Select Y if you have such device.
88
Ex: MT8173
99

1010
config SND_SOC_MT8173_MAX98090
1111
tristate "ASoC Audio driver for MT8173 with MAX98090 codec"
12-
depends on SND_SOC_MEDIATEK && I2C
12+
depends on SND_SOC_MT8173 && I2C
1313
select SND_SOC_MAX98090
1414
help
1515
This adds ASoC driver for Mediatek MT8173 boards
@@ -19,7 +19,7 @@ config SND_SOC_MT8173_MAX98090
1919

2020
config SND_SOC_MT8173_RT5650
2121
tristate "ASoC Audio driver for MT8173 with RT5650 codec"
22-
depends on SND_SOC_MEDIATEK && I2C
22+
depends on SND_SOC_MT8173 && I2C
2323
select SND_SOC_RT5645
2424
help
2525
This adds ASoC driver for Mediatek MT8173 boards
@@ -29,7 +29,7 @@ config SND_SOC_MT8173_RT5650
2929

3030
config SND_SOC_MT8173_RT5650_RT5514
3131
tristate "ASoC Audio driver for MT8173 with RT5650 RT5514 codecs"
32-
depends on SND_SOC_MEDIATEK && I2C
32+
depends on SND_SOC_MT8173 && I2C
3333
select SND_SOC_RT5645
3434
select SND_SOC_RT5514
3535
help
@@ -40,7 +40,7 @@ config SND_SOC_MT8173_RT5650_RT5514
4040

4141
config SND_SOC_MT8173_RT5650_RT5676
4242
tristate "ASoC Audio driver for MT8173 with RT5650 RT5676 codecs"
43-
depends on SND_SOC_MEDIATEK && I2C
43+
depends on SND_SOC_MT8173 && I2C
4444
select SND_SOC_RT5645
4545
select SND_SOC_RT5677
4646
select SND_SOC_HDMI_CODEC

sound/soc/mediatek/Makefile

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
1-
# MTK Platform Support
2-
obj-$(CONFIG_SND_SOC_MEDIATEK) += mtk-afe-pcm.o
3-
# Machine support
4-
obj-$(CONFIG_SND_SOC_MT8173_MAX98090) += mt8173-max98090.o
5-
obj-$(CONFIG_SND_SOC_MT8173_RT5650) += mt8173-rt5650.o
6-
obj-$(CONFIG_SND_SOC_MT8173_RT5650_RT5514) += mt8173-rt5650-rt5514.o
7-
obj-$(CONFIG_SND_SOC_MT8173_RT5650_RT5676) += mt8173-rt5650-rt5676.o
1+
# 8173 Machine support
2+
obj-$(CONFIG_SND_SOC_MT8173) += mt8173/

sound/soc/mediatek/mt8173/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# MTK Platform Support
2+
obj-$(CONFIG_SND_SOC_MT8173) += mt8173-afe-pcm.o
3+
# Machine support
4+
obj-$(CONFIG_SND_SOC_MT8173_MAX98090) += mt8173-max98090.o
5+
obj-$(CONFIG_SND_SOC_MT8173_RT5650) += mt8173-rt5650.o
6+
obj-$(CONFIG_SND_SOC_MT8173_RT5650_RT5514) += mt8173-rt5650-rt5514.o
7+
obj-$(CONFIG_SND_SOC_MT8173_RT5650_RT5676) += mt8173-rt5650-rt5676.o
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
/*
2+
* mt8173_afe_common.h -- Mediatek 8173 audio driver common definitions
3+
*
4+
* Copyright (c) 2015 MediaTek Inc.
5+
* Author: Koro Chen <[email protected]>
6+
* Sascha Hauer <[email protected]>
7+
* Hidalgo Huang <[email protected]>
8+
* Ir Lian <[email protected]>
9+
*
10+
* This program is free software; you can redistribute it and/or modify
11+
* it under the terms of the GNU General Public License version 2 and
12+
* only version 2 as published by the Free Software Foundation.
13+
*
14+
* This program is distributed in the hope that it will be useful,
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU General Public License for more details.
18+
*/
19+
20+
#ifndef _MT8173_AFE_COMMON_H_
21+
#define _MT8173_AFE_COMMON_H_
22+
23+
#include <linux/clk.h>
24+
#include <linux/regmap.h>
25+
26+
enum {
27+
MT8173_AFE_MEMIF_DL1,
28+
MT8173_AFE_MEMIF_DL2,
29+
MT8173_AFE_MEMIF_VUL,
30+
MT8173_AFE_MEMIF_DAI,
31+
MT8173_AFE_MEMIF_AWB,
32+
MT8173_AFE_MEMIF_MOD_DAI,
33+
MT8173_AFE_MEMIF_HDMI,
34+
MT8173_AFE_MEMIF_NUM,
35+
MT8173_AFE_IO_MOD_PCM1 = MT8173_AFE_MEMIF_NUM,
36+
MT8173_AFE_IO_MOD_PCM2,
37+
MT8173_AFE_IO_PMIC,
38+
MT8173_AFE_IO_I2S,
39+
MT8173_AFE_IO_2ND_I2S,
40+
MT8173_AFE_IO_HW_GAIN1,
41+
MT8173_AFE_IO_HW_GAIN2,
42+
MT8173_AFE_IO_MRG_O,
43+
MT8173_AFE_IO_MRG_I,
44+
MT8173_AFE_IO_DAIBT,
45+
MT8173_AFE_IO_HDMI,
46+
};
47+
48+
enum {
49+
MT8173_AFE_IRQ_1,
50+
MT8173_AFE_IRQ_2,
51+
MT8173_AFE_IRQ_3,
52+
MT8173_AFE_IRQ_4,
53+
MT8173_AFE_IRQ_5,
54+
MT8173_AFE_IRQ_6,
55+
MT8173_AFE_IRQ_7,
56+
MT8173_AFE_IRQ_8,
57+
MT8173_AFE_IRQ_NUM,
58+
};
59+
60+
enum {
61+
MT8173_CLK_INFRASYS_AUD,
62+
MT8173_CLK_TOP_PDN_AUD,
63+
MT8173_CLK_TOP_PDN_AUD_BUS,
64+
MT8173_CLK_I2S0_M,
65+
MT8173_CLK_I2S1_M,
66+
MT8173_CLK_I2S2_M,
67+
MT8173_CLK_I2S3_M,
68+
MT8173_CLK_I2S3_B,
69+
MT8173_CLK_BCK0,
70+
MT8173_CLK_BCK1,
71+
MT8173_CLK_NUM
72+
};
73+
74+
struct mt8173_afe;
75+
struct snd_pcm_substream;
76+
77+
struct mt8173_afe_memif_data {
78+
int id;
79+
const char *name;
80+
int reg_ofs_base;
81+
int reg_ofs_cur;
82+
int fs_shift;
83+
int mono_shift;
84+
int enable_shift;
85+
int irq_reg_cnt;
86+
int irq_cnt_shift;
87+
int irq_en_shift;
88+
int irq_fs_shift;
89+
int irq_clr_shift;
90+
int msb_shift;
91+
};
92+
93+
struct mt8173_afe_memif {
94+
unsigned int phys_buf_addr;
95+
int buffer_size;
96+
struct snd_pcm_substream *substream;
97+
const struct mt8173_afe_memif_data *data;
98+
const struct mt8173_afe_irq_data *irqdata;
99+
};
100+
101+
#endif

0 commit comments

Comments
 (0)