Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
dacdd369
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
dacdd369
编写于
6月 22, 2015
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branches 'asoc/topic/intel' and 'asoc/topic/max98090' into asoc-next
上级
1cdf4f61
e85dae70
8610d09a
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
45 addition
and
19 deletion
+45
-19
sound/soc/codecs/max98090.c
sound/soc/codecs/max98090.c
+2
-2
sound/soc/intel/Kconfig
sound/soc/intel/Kconfig
+2
-2
sound/soc/intel/atom/sst-atom-controls.c
sound/soc/intel/atom/sst-atom-controls.c
+8
-12
sound/soc/intel/atom/sst/sst.c
sound/soc/intel/atom/sst/sst.c
+2
-2
sound/soc/intel/boards/cht_bsw_max98090_ti.c
sound/soc/intel/boards/cht_bsw_max98090_ti.c
+30
-0
sound/soc/intel/common/sst-acpi.c
sound/soc/intel/common/sst-acpi.c
+1
-1
未找到文件。
sound/soc/codecs/max98090.c
浏览文件 @
dacdd369
...
...
@@ -27,7 +27,7 @@
#include "max98090.h"
/* Allows for sparsely populated register maps */
static
struct
reg_default
max98090_reg
[]
=
{
static
const
struct
reg_default
max98090_reg
[]
=
{
{
0x00
,
0x00
},
/* 00 Software Reset */
{
0x03
,
0x04
},
/* 03 Interrupt Masks */
{
0x04
,
0x00
},
/* 04 System Clock Quick */
...
...
@@ -2704,7 +2704,7 @@ static const struct of_device_id max98090_of_match[] = {
MODULE_DEVICE_TABLE
(
of
,
max98090_of_match
);
#ifdef CONFIG_ACPI
static
struct
acpi_device_id
max98090_acpi_match
[]
=
{
static
const
struct
acpi_device_id
max98090_acpi_match
[]
=
{
{
"193C9890"
,
MAX98090
},
{
}
};
...
...
sound/soc/intel/Kconfig
浏览文件 @
dacdd369
...
...
@@ -112,7 +112,7 @@ config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with RT5645/5650 codec"
depends on X86_INTEL_LPSS
depends on X86_INTEL_LPSS
&& I2C
select SND_SOC_RT5645
select SND_SST_MFLD_PLATFORM
select SND_SST_IPC_ACPI
...
...
@@ -123,7 +123,7 @@ config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
tristate "ASoC Audio driver for Intel Cherrytrail & Braswell with MAX98090 & TI codec"
depends on X86_INTEL_LPSS
depends on X86_INTEL_LPSS
&& I2C
select SND_SOC_MAX98090
select SND_SOC_TS3A227E
select SND_SST_MFLD_PLATFORM
...
...
sound/soc/intel/atom/sst-atom-controls.c
浏览文件 @
dacdd369
...
...
@@ -1401,36 +1401,32 @@ static int sst_fill_widget_module_info(struct snd_soc_dapm_widget *w,
down_read
(
&
card
->
controls_rwsem
);
list_for_each_entry
(
kctl
,
&
card
->
controls
,
list
)
{
idx
=
str
str
(
kctl
->
id
.
name
,
" "
);
idx
=
str
chr
(
kctl
->
id
.
name
,
' '
);
if
(
idx
==
NULL
)
continue
;
index
=
strlen
(
kctl
->
id
.
name
)
-
strlen
(
idx
);
index
=
idx
-
(
char
*
)
kctl
->
id
.
name
;
if
(
strncmp
(
kctl
->
id
.
name
,
w
->
name
,
index
))
continue
;
if
(
strstr
(
kctl
->
id
.
name
,
"Volume"
)
&&
!
strncmp
(
kctl
->
id
.
name
,
w
->
name
,
index
))
if
(
strstr
(
kctl
->
id
.
name
,
"Volume"
))
ret
=
sst_fill_module_list
(
kctl
,
w
,
SST_MODULE_GAIN
);
else
if
(
strstr
(
kctl
->
id
.
name
,
"params"
)
&&
!
strncmp
(
kctl
->
id
.
name
,
w
->
name
,
index
))
else
if
(
strstr
(
kctl
->
id
.
name
,
"params"
))
ret
=
sst_fill_module_list
(
kctl
,
w
,
SST_MODULE_ALGO
);
else
if
(
strstr
(
kctl
->
id
.
name
,
"Switch"
)
&&
!
strncmp
(
kctl
->
id
.
name
,
w
->
name
,
index
)
&&
strstr
(
kctl
->
id
.
name
,
"Gain"
))
{
struct
sst_gain_mixer_control
*
mc
=
(
void
*
)
kctl
->
private_value
;
mc
->
w
=
w
;
}
else
if
(
strstr
(
kctl
->
id
.
name
,
"interleaver"
)
&&
!
strncmp
(
kctl
->
id
.
name
,
w
->
name
,
index
))
{
}
else
if
(
strstr
(
kctl
->
id
.
name
,
"interleaver"
))
{
struct
sst_enum
*
e
=
(
void
*
)
kctl
->
private_value
;
e
->
w
=
w
;
}
else
if
(
strstr
(
kctl
->
id
.
name
,
"deinterleaver"
)
&&
!
strncmp
(
kctl
->
id
.
name
,
w
->
name
,
index
))
{
}
else
if
(
strstr
(
kctl
->
id
.
name
,
"deinterleaver"
))
{
struct
sst_enum
*
e
=
(
void
*
)
kctl
->
private_value
;
e
->
w
=
w
;
...
...
sound/soc/intel/atom/sst/sst.c
浏览文件 @
dacdd369
...
...
@@ -368,8 +368,8 @@ static inline void sst_restore_shim64(struct intel_sst_drv *ctx,
* initialize by FW or driver when firmware is loaded
*/
spin_lock_irqsave
(
&
ctx
->
ipc_spin_lock
,
irq_flags
);
sst_shim_write64
(
shim
,
SST_IMRX
,
shim_regs
->
imrx
)
,
sst_shim_write64
(
shim
,
SST_CSR
,
shim_regs
->
csr
)
,
sst_shim_write64
(
shim
,
SST_IMRX
,
shim_regs
->
imrx
)
;
sst_shim_write64
(
shim
,
SST_CSR
,
shim_regs
->
csr
)
;
spin_unlock_irqrestore
(
&
ctx
->
ipc_spin_lock
,
irq_flags
);
}
...
...
sound/soc/intel/boards/cht_bsw_max98090_ti.c
浏览文件 @
dacdd369
...
...
@@ -101,6 +101,33 @@ static int cht_aif1_hw_params(struct snd_pcm_substream *substream,
return
0
;
}
static
int
cht_ti_jack_event
(
struct
notifier_block
*
nb
,
unsigned
long
event
,
void
*
data
)
{
struct
snd_soc_jack
*
jack
=
(
struct
snd_soc_jack
*
)
data
;
struct
snd_soc_dai
*
codec_dai
=
jack
->
card
->
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
codec_dai
->
codec
;
if
(
event
&
SND_JACK_MICROPHONE
)
{
snd_soc_dapm_force_enable_pin
(
&
codec
->
dapm
,
"SHDN"
);
snd_soc_dapm_force_enable_pin
(
&
codec
->
dapm
,
"MICBIAS"
);
snd_soc_dapm_sync
(
&
codec
->
dapm
);
}
else
{
snd_soc_dapm_disable_pin
(
&
codec
->
dapm
,
"MICBIAS"
);
snd_soc_dapm_disable_pin
(
&
codec
->
dapm
,
"SHDN"
);
snd_soc_dapm_sync
(
&
codec
->
dapm
);
}
return
0
;
}
static
struct
notifier_block
cht_jack_nb
=
{
.
notifier_call
=
cht_ti_jack_event
,
};
static
int
cht_codec_init
(
struct
snd_soc_pcm_runtime
*
runtime
)
{
int
ret
;
...
...
@@ -130,6 +157,9 @@ static int cht_codec_init(struct snd_soc_pcm_runtime *runtime)
return
ret
;
}
if
(
ctx
->
ts3a227e_present
)
snd_soc_jack_notifier_register
(
jack
,
&
cht_jack_nb
);
return
ret
;
}
...
...
sound/soc/intel/common/sst-acpi.c
浏览文件 @
dacdd369
...
...
@@ -263,7 +263,7 @@ static struct sst_acpi_desc sst_acpi_baytrail_desc = {
.
resindex_dma_base
=
-
1
,
};
static
struct
acpi_device_id
sst_acpi_match
[]
=
{
static
const
struct
acpi_device_id
sst_acpi_match
[]
=
{
{
"INT33C8"
,
(
unsigned
long
)
&
sst_acpi_haswell_desc
},
{
"INT3438"
,
(
unsigned
long
)
&
sst_acpi_broadwell_desc
},
{
"80860F28"
,
(
unsigned
long
)
&
sst_acpi_baytrail_desc
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录