Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
a3150f09
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a3150f09
编写于
8月 16, 2012
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ASoC: wm5102: Add AEC routing control
Signed-off-by:
N
Mark Brown
<
broonie@opensource.wolfsonmicro.com
>
上级
1837ce35
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
0 deletion
+34
-0
sound/soc/codecs/wm5102.c
sound/soc/codecs/wm5102.c
+34
-0
未找到文件。
sound/soc/codecs/wm5102.c
浏览文件 @
a3150f09
...
...
@@ -280,6 +280,27 @@ ARIZONA_MIXER_ENUMS(ASRC1R, ARIZONA_ASRC1RMIX_INPUT_1_SOURCE);
ARIZONA_MIXER_ENUMS
(
ASRC2L
,
ARIZONA_ASRC2LMIX_INPUT_1_SOURCE
);
ARIZONA_MIXER_ENUMS
(
ASRC2R
,
ARIZONA_ASRC2RMIX_INPUT_1_SOURCE
);
static
const
char
*
wm5102_aec_loopback_texts
[]
=
{
"HPOUT1L"
,
"HPOUT1R"
,
"HPOUT2L"
,
"HPOUT2R"
,
"EPOUT"
,
"SPKOUTL"
,
"SPKOUTR"
,
"SPKDAT1L"
,
"SPKDAT1R"
,
};
static
const
unsigned
int
wm5102_aec_loopback_values
[]
=
{
0
,
1
,
2
,
3
,
4
,
6
,
7
,
8
,
9
,
};
static
const
struct
soc_enum
wm5102_aec_loopback
=
SOC_VALUE_ENUM_SINGLE
(
ARIZONA_DAC_AEC_CONTROL_1
,
ARIZONA_AEC_LOOPBACK_SRC_SHIFT
,
ARIZONA_AEC_LOOPBACK_SRC_MASK
,
ARRAY_SIZE
(
wm5102_aec_loopback_texts
),
wm5102_aec_loopback_texts
,
wm5102_aec_loopback_values
);
static
const
struct
snd_kcontrol_new
wm5102_aec_loopback_mux
=
SOC_DAPM_VALUE_ENUM
(
"AEC Loopback"
,
wm5102_aec_loopback
);
static
const
struct
snd_soc_dapm_widget
wm5102_dapm_widgets
[]
=
{
SND_SOC_DAPM_SUPPLY
(
"SYSCLK"
,
ARIZONA_SYSTEM_CLOCK_1
,
ARIZONA_SYSCLK_ENA_SHIFT
,
0
,
NULL
,
0
),
...
...
@@ -435,6 +456,9 @@ SND_SOC_DAPM_AIF_IN("AIF3RX1", NULL, 0,
SND_SOC_DAPM_AIF_IN
(
"AIF3RX2"
,
NULL
,
0
,
ARIZONA_AIF3_RX_ENABLES
,
ARIZONA_AIF3RX2_ENA_SHIFT
,
0
),
SND_SOC_DAPM_VALUE_MUX
(
"AEC Loopback"
,
ARIZONA_DAC_AEC_CONTROL_1
,
ARIZONA_AEC_LOOPBACK_ENA
,
0
,
&
wm5102_aec_loopback_mux
),
SND_SOC_DAPM_PGA_E
(
"OUT1L"
,
ARIZONA_OUTPUT_ENABLES_1
,
ARIZONA_OUT1L_ENA_SHIFT
,
0
,
NULL
,
0
,
arizona_out_ev
,
SND_SOC_DAPM_PRE_PMD
|
SND_SOC_DAPM_POST_PMU
),
...
...
@@ -532,6 +556,7 @@ SND_SOC_DAPM_OUTPUT("SPKDAT1R"),
{ name, "Noise Generator", "Noise Generator" }, \
{ name, "Tone Generator 1", "Tone Generator 1" }, \
{ name, "Tone Generator 2", "Tone Generator 2" }, \
{ name, "AEC", "AEC Loopback" }, \
{ name, "IN1L", "IN1L PGA" }, \
{ name, "IN1R", "IN1R PGA" }, \
{ name, "IN2L", "IN2L PGA" }, \
...
...
@@ -692,21 +717,30 @@ static const struct snd_soc_dapm_route wm5102_dapm_routes[] = {
ARIZONA_MIXER_ROUTES
(
"ASRC2L"
,
"ASRC2L"
),
ARIZONA_MIXER_ROUTES
(
"ASRC2R"
,
"ASRC2R"
),
{
"AEC Loopback"
,
"HPOUT1L"
,
"OUT1L"
},
{
"AEC Loopback"
,
"HPOUT1R"
,
"OUT1R"
},
{
"HPOUT1L"
,
NULL
,
"OUT1L"
},
{
"HPOUT1R"
,
NULL
,
"OUT1R"
},
{
"AEC Loopback"
,
"HPOUT2L"
,
"OUT2L"
},
{
"AEC Loopback"
,
"HPOUT2R"
,
"OUT2R"
},
{
"HPOUT2L"
,
NULL
,
"OUT2L"
},
{
"HPOUT2R"
,
NULL
,
"OUT2R"
},
{
"AEC Loopback"
,
"EPOUT"
,
"OUT3L"
},
{
"EPOUTN"
,
NULL
,
"OUT3L"
},
{
"EPOUTP"
,
NULL
,
"OUT3L"
},
{
"AEC Loopback"
,
"SPKOUTL"
,
"OUT4L"
},
{
"SPKOUTLN"
,
NULL
,
"OUT4L"
},
{
"SPKOUTLP"
,
NULL
,
"OUT4L"
},
{
"AEC Loopback"
,
"SPKOUTR"
,
"OUT4R"
},
{
"SPKOUTRN"
,
NULL
,
"OUT4R"
},
{
"SPKOUTRP"
,
NULL
,
"OUT4R"
},
{
"AEC Loopback"
,
"SPKDAT1L"
,
"OUT5L"
},
{
"AEC Loopback"
,
"SPKDAT1R"
,
"OUT5R"
},
{
"SPKDAT1L"
,
NULL
,
"OUT5L"
},
{
"SPKDAT1R"
,
NULL
,
"OUT5R"
},
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录