Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
477ce17d
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
477ce17d
编写于
11月 08, 2013
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'asoc/topic/cq93vc' into asoc-next
上级
c6016bde
d33c3335
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
32 deletion
+14
-32
sound/soc/codecs/cq93vc.c
sound/soc/codecs/cq93vc.c
+14
-32
未找到文件。
sound/soc/codecs/cq93vc.c
浏览文件 @
477ce17d
...
...
@@ -38,24 +38,6 @@
#include <sound/soc.h>
#include <sound/initval.h>
static
inline
unsigned
int
cq93vc_read
(
struct
snd_soc_codec
*
codec
,
unsigned
int
reg
)
{
struct
davinci_vc
*
davinci_vc
=
codec
->
control_data
;
return
readl
(
davinci_vc
->
base
+
reg
);
}
static
inline
int
cq93vc_write
(
struct
snd_soc_codec
*
codec
,
unsigned
int
reg
,
unsigned
int
value
)
{
struct
davinci_vc
*
davinci_vc
=
codec
->
control_data
;
writel
(
value
,
davinci_vc
->
base
+
reg
);
return
0
;
}
static
const
struct
snd_kcontrol_new
cq93vc_snd_controls
[]
=
{
SOC_SINGLE
(
"PGA Capture Volume"
,
DAVINCI_VC_REG05
,
0
,
0x03
,
0
),
SOC_SINGLE
(
"Mono DAC Playback Volume"
,
DAVINCI_VC_REG09
,
0
,
0x3f
,
0
),
...
...
@@ -64,13 +46,15 @@ static const struct snd_kcontrol_new cq93vc_snd_controls[] = {
static
int
cq93vc_mute
(
struct
snd_soc_dai
*
dai
,
int
mute
)
{
struct
snd_soc_codec
*
codec
=
dai
->
codec
;
u8
reg
=
cq93vc_read
(
codec
,
DAVINCI_VC_REG09
)
&
~
DAVINCI_VC_REG09_MUTE
;
u8
reg
;
if
(
mute
)
cq93vc_write
(
codec
,
DAVINCI_VC_REG09
,
reg
|
DAVINCI_VC_REG09_MUTE
);
reg
=
DAVINCI_VC_REG09_MUTE
;
else
cq93vc_write
(
codec
,
DAVINCI_VC_REG09
,
reg
);
reg
=
0
;
snd_soc_update_bits
(
codec
,
DAVINCI_VC_REG09
,
DAVINCI_VC_REG09_MUTE
,
reg
);
return
0
;
}
...
...
@@ -79,7 +63,7 @@ static int cq93vc_set_dai_sysclk(struct snd_soc_dai *codec_dai,
int
clk_id
,
unsigned
int
freq
,
int
dir
)
{
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
struct
davinci_vc
*
davinci_vc
=
codec
->
control
_data
;
struct
davinci_vc
*
davinci_vc
=
codec
->
dev
->
platform
_data
;
switch
(
freq
)
{
case
22579200
:
...
...
@@ -97,18 +81,18 @@ static int cq93vc_set_bias_level(struct snd_soc_codec *codec,
{
switch
(
level
)
{
case
SND_SOC_BIAS_ON
:
cq93v
c_write
(
codec
,
DAVINCI_VC_REG12
,
snd_so
c_write
(
codec
,
DAVINCI_VC_REG12
,
DAVINCI_VC_REG12_POWER_ALL_ON
);
break
;
case
SND_SOC_BIAS_PREPARE
:
break
;
case
SND_SOC_BIAS_STANDBY
:
cq93v
c_write
(
codec
,
DAVINCI_VC_REG12
,
snd_so
c_write
(
codec
,
DAVINCI_VC_REG12
,
DAVINCI_VC_REG12_POWER_ALL_OFF
);
break
;
case
SND_SOC_BIAS_OFF
:
/* force all power off */
cq93v
c_write
(
codec
,
DAVINCI_VC_REG12
,
snd_so
c_write
(
codec
,
DAVINCI_VC_REG12
,
DAVINCI_VC_REG12_POWER_ALL_OFF
);
break
;
}
...
...
@@ -154,11 +138,9 @@ static int cq93vc_probe(struct snd_soc_codec *codec)
struct
davinci_vc
*
davinci_vc
=
codec
->
dev
->
platform_data
;
davinci_vc
->
cq93vc
.
codec
=
codec
;
codec
->
control_data
=
davinci_vc
;
codec
->
control_data
=
davinci_vc
->
regmap
;
/* Set controls */
snd_soc_add_codec_controls
(
codec
,
cq93vc_snd_controls
,
ARRAY_SIZE
(
cq93vc_snd_controls
));
snd_soc_codec_set_cache_io
(
codec
,
32
,
32
,
SND_SOC_REGMAP
);
/* Off, with power on */
cq93vc_set_bias_level
(
codec
,
SND_SOC_BIAS_STANDBY
);
...
...
@@ -174,12 +156,12 @@ static int cq93vc_remove(struct snd_soc_codec *codec)
}
static
struct
snd_soc_codec_driver
soc_codec_dev_cq93vc
=
{
.
read
=
cq93vc_read
,
.
write
=
cq93vc_write
,
.
set_bias_level
=
cq93vc_set_bias_level
,
.
probe
=
cq93vc_probe
,
.
remove
=
cq93vc_remove
,
.
resume
=
cq93vc_resume
,
.
controls
=
cq93vc_snd_controls
,
.
num_controls
=
ARRAY_SIZE
(
cq93vc_snd_controls
),
};
static
int
cq93vc_platform_probe
(
struct
platform_device
*
pdev
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录