Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
6f1a7767
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看板
提交
6f1a7767
编写于
8月 09, 2011
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-3.1' into for-3.2
上级
63010634
f99847a6
变更
12
展开全部
隐藏空白更改
内联
并排
Showing
12 changed file
with
6780 addition
and
3769 deletion
+6780
-3769
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-crag6410.c
+9
-9
include/sound/wm8996.h
include/sound/wm8996.h
+14
-14
sound/soc/codecs/Kconfig
sound/soc/codecs/Kconfig
+4
-4
sound/soc/codecs/Makefile
sound/soc/codecs/Makefile
+2
-2
sound/soc/codecs/wm8903.c
sound/soc/codecs/wm8903.c
+5
-0
sound/soc/codecs/wm8915.h
sound/soc/codecs/wm8915.h
+0
-3717
sound/soc/codecs/wm8996.c
sound/soc/codecs/wm8996.c
+2994
-0
sound/soc/codecs/wm8996.h
sound/soc/codecs/wm8996.h
+3717
-0
sound/soc/samsung/Kconfig
sound/soc/samsung/Kconfig
+1
-1
sound/soc/samsung/speyside.c
sound/soc/samsung/speyside.c
+16
-16
sound/soc/tegra/tegra_pcm.c
sound/soc/tegra/tegra_pcm.c
+7
-2
sound/soc/tegra/tegra_wm8903.c
sound/soc/tegra/tegra_wm8903.c
+11
-4
未找到文件。
arch/arm/mach-s3c64xx/mach-crag6410.c
浏览文件 @
6f1a7767
...
...
@@ -65,7 +65,7 @@
#include <plat/iic.h>
#include <plat/pm.h>
#include <sound/wm89
15
.h>
#include <sound/wm89
96
.h>
#include <sound/wm8962.h>
#include <sound/wm9081.h>
...
...
@@ -614,7 +614,7 @@ static struct wm831x_pdata glenfarclas_pmic_pdata __initdata = {
.
disable_touch
=
true
,
};
static
struct
wm89
15_retune_mobile_config
wm8915
_retune
[]
=
{
static
struct
wm89
96_retune_mobile_config
wm8996
_retune
[]
=
{
{
.
name
=
"Sub LPF"
,
.
rate
=
48000
,
...
...
@@ -635,12 +635,12 @@ static struct wm8915_retune_mobile_config wm8915_retune[] = {
},
};
static
struct
wm89
15_pdata
wm8915
_pdata
__initdata
=
{
static
struct
wm89
96_pdata
wm8996
_pdata
__initdata
=
{
.
ldo_ena
=
S3C64XX_GPN
(
7
),
.
gpio_base
=
CODEC_GPIO_BASE
,
.
micdet_def
=
1
,
.
inl_mode
=
WM89
15
_DIFFERRENTIAL_1
,
.
inr_mode
=
WM89
15
_DIFFERRENTIAL_1
,
.
inl_mode
=
WM89
96
_DIFFERRENTIAL_1
,
.
inr_mode
=
WM89
96
_DIFFERRENTIAL_1
,
.
irq_flags
=
IRQF_TRIGGER_RISING
,
...
...
@@ -652,8 +652,8 @@ static struct wm8915_pdata wm8915_pdata __initdata = {
0x020e
,
/* GPIO5 == CLKOUT */
},
.
retune_mobile_cfgs
=
wm89
15
_retune
,
.
num_retune_mobile_cfgs
=
ARRAY_SIZE
(
wm89
15
_retune
),
.
retune_mobile_cfgs
=
wm89
96
_retune
,
.
num_retune_mobile_cfgs
=
ARRAY_SIZE
(
wm89
96
_retune
),
};
static
struct
wm8962_pdata
wm8962_pdata
__initdata
=
{
...
...
@@ -679,8 +679,8 @@ static struct i2c_board_info i2c_devs1[] __initdata = {
.
platform_data
=
&
glenfarclas_pmic_pdata
},
{
I2C_BOARD_INFO
(
"wm1250-ev1"
,
0x27
)
},
{
I2C_BOARD_INFO
(
"wm89
15
"
,
0x1a
),
.
platform_data
=
&
wm89
15
_pdata
,
{
I2C_BOARD_INFO
(
"wm89
96
"
,
0x1a
),
.
platform_data
=
&
wm89
96
_pdata
,
.
irq
=
GLENFARCLAS_PMIC_IRQ_BASE
+
WM831X_IRQ_GPIO_2
,
},
{
I2C_BOARD_INFO
(
"wm9081"
,
0x6c
),
...
...
include/sound/wm89
15
.h
→
include/sound/wm89
96
.h
浏览文件 @
6f1a7767
/*
* linux/sound/wm89
15.h -- Platform data for WM8915
* linux/sound/wm89
96.h -- Platform data for WM8996
*
* Copyright 2011 Wolfson Microelectronics. PLC.
*
...
...
@@ -8,14 +8,14 @@
* published by the Free Software Foundation.
*/
#ifndef __LINUX_SND_WM89
03
_H
#define __LINUX_SND_WM89
03
_H
#ifndef __LINUX_SND_WM89
96
_H
#define __LINUX_SND_WM89
96
_H
enum
wm89
15
_inmode
{
WM89
15
_DIFFERRENTIAL_1
=
0
,
/* IN1xP - IN1xN */
WM89
15
_INVERTING
=
1
,
/* IN1xN */
WM89
15
_NON_INVERTING
=
2
,
/* IN1xP */
WM89
15
_DIFFERENTIAL_2
=
3
,
/* IN2xP - IN2xP */
enum
wm89
96
_inmode
{
WM89
96
_DIFFERRENTIAL_1
=
0
,
/* IN1xP - IN1xN */
WM89
96
_INVERTING
=
1
,
/* IN1xN */
WM89
96
_NON_INVERTING
=
2
,
/* IN1xP */
WM89
96
_DIFFERENTIAL_2
=
3
,
/* IN2xP - IN2xP */
};
/**
...
...
@@ -25,23 +25,23 @@ enum wm8915_inmode {
* Configurations are expected to be generated using the ReTune Mobile
* control panel in WISCE - see http://www.wolfsonmicro.com/wisce/
*/
struct
wm89
15
_retune_mobile_config
{
struct
wm89
96
_retune_mobile_config
{
const
char
*
name
;
int
rate
;
u16
regs
[
20
];
};
#define WM89
15
_SET_DEFAULT 0x10000
#define WM89
96
_SET_DEFAULT 0x10000
struct
wm89
15
_pdata
{
struct
wm89
96
_pdata
{
int
irq_flags
;
/** Set IRQ trigger flags; default active low */
int
ldo_ena
;
/** GPIO for LDO1; -1 for none */
int
micdet_def
;
/** Default MICDET_SRC/HP1FB_SRC/MICD_BIAS */
enum
wm89
15
_inmode
inl_mode
;
enum
wm89
15
_inmode
inr_mode
;
enum
wm89
96
_inmode
inl_mode
;
enum
wm89
96
_inmode
inr_mode
;
u32
spkmute_seq
;
/** Value for register 0x802 */
...
...
@@ -49,7 +49,7 @@ struct wm8915_pdata {
u32
gpio_default
[
5
];
int
num_retune_mobile_cfgs
;
struct
wm89
15
_retune_mobile_config
*
retune_mobile_cfgs
;
struct
wm89
96
_retune_mobile_config
*
retune_mobile_cfgs
;
};
#endif
sound/soc/codecs/Kconfig
浏览文件 @
6f1a7767
...
...
@@ -78,7 +78,6 @@ config SND_SOC_ALL_CODECS
select SND_SOC_WM8900 if I2C
select SND_SOC_WM8903 if I2C
select SND_SOC_WM8904 if I2C
select SND_SOC_WM8915 if I2C
select SND_SOC_WM8940 if I2C
select SND_SOC_WM8955 if I2C
select SND_SOC_WM8960 if I2C
...
...
@@ -95,6 +94,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_WM8993 if I2C
select SND_SOC_WM8994 if MFD_WM8994
select SND_SOC_WM8995 if SND_SOC_I2C_AND_SPI
select SND_SOC_WM8996 if I2C
select SND_SOC_WM9081 if I2C
select SND_SOC_WM9090 if I2C
select SND_SOC_WM9705 if SND_SOC_AC97_BUS
...
...
@@ -329,9 +329,6 @@ config SND_SOC_WM8903
config SND_SOC_WM8904
tristate
config SND_SOC_WM8915
tristate
config SND_SOC_WM8940
tristate
...
...
@@ -380,6 +377,9 @@ config SND_SOC_WM8994
config SND_SOC_WM8995
tristate
config SND_SOC_WM8996
tristate
config SND_SOC_WM9081
tristate
...
...
sound/soc/codecs/Makefile
浏览文件 @
6f1a7767
...
...
@@ -63,7 +63,7 @@ snd-soc-wm8804-objs := wm8804.o
snd-soc-wm8900-objs
:=
wm8900.o
snd-soc-wm8903-objs
:=
wm8903.o
snd-soc-wm8904-objs
:=
wm8904.o
snd-soc-wm89
15-objs
:=
wm8915
.o
snd-soc-wm89
96-objs
:=
wm8996
.o
snd-soc-wm8940-objs
:=
wm8940.o
snd-soc-wm8955-objs
:=
wm8955.o
snd-soc-wm8960-objs
:=
wm8960.o
...
...
@@ -160,7 +160,7 @@ obj-$(CONFIG_SND_SOC_WM8804) += snd-soc-wm8804.o
obj-$(CONFIG_SND_SOC_WM8900)
+=
snd-soc-wm8900.o
obj-$(CONFIG_SND_SOC_WM8903)
+=
snd-soc-wm8903.o
obj-$(CONFIG_SND_SOC_WM8904)
+=
snd-soc-wm8904.o
obj-$(CONFIG_SND_SOC_WM89
15)
+=
snd-soc-wm8915
.o
obj-$(CONFIG_SND_SOC_WM89
96)
+=
snd-soc-wm8996
.o
obj-$(CONFIG_SND_SOC_WM8940)
+=
snd-soc-wm8940.o
obj-$(CONFIG_SND_SOC_WM8955)
+=
snd-soc-wm8955.o
obj-$(CONFIG_SND_SOC_WM8960)
+=
snd-soc-wm8960.o
...
...
sound/soc/codecs/wm8903.c
浏览文件 @
6f1a7767
...
...
@@ -2046,8 +2046,13 @@ static int wm8903_probe(struct snd_soc_codec *codec)
/* power down chip */
static
int
wm8903_remove
(
struct
snd_soc_codec
*
codec
)
{
struct
wm8903_priv
*
wm8903
=
snd_soc_codec_get_drvdata
(
codec
);
wm8903_free_gpio
(
codec
);
wm8903_set_bias_level
(
codec
,
SND_SOC_BIAS_OFF
);
if
(
wm8903
->
irq
)
free_irq
(
wm8903
->
irq
,
codec
);
return
0
;
}
...
...
sound/soc/codecs/wm8915.h
已删除
100644 → 0
浏览文件 @
63010634
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
sound/soc/codecs/wm89
15
.c
→
sound/soc/codecs/wm89
96
.c
浏览文件 @
6f1a7767
此差异已折叠。
点击以展开。
sound/soc/codecs/wm8996.h
0 → 100644
浏览文件 @
6f1a7767
此差异已折叠。
点击以展开。
sound/soc/samsung/Kconfig
浏览文件 @
6f1a7767
...
...
@@ -183,7 +183,7 @@ config SND_SOC_SPEYSIDE
tristate "Audio support for Wolfson Speyside"
depends on SND_SOC_SAMSUNG && MACH_WLF_CRAGG_6410
select SND_SAMSUNG_I2S
select SND_SOC_WM89
15
select SND_SOC_WM89
96
select SND_SOC_WM9081
config SND_SOC_SPEYSIDE_WM8962
...
...
sound/soc/samsung/speyside.c
浏览文件 @
6f1a7767
...
...
@@ -14,10 +14,10 @@
#include <sound/jack.h>
#include <linux/gpio.h>
#include "../codecs/wm89
15
.h"
#include "../codecs/wm89
96
.h"
#include "../codecs/wm9081.h"
#define WM89
15
_HPSEL_GPIO 214
#define WM89
96
_HPSEL_GPIO 214
static
int
speyside_set_bias_level
(
struct
snd_soc_card
*
card
,
struct
snd_soc_dapm_context
*
dapm
,
...
...
@@ -31,12 +31,12 @@ static int speyside_set_bias_level(struct snd_soc_card *card,
switch
(
level
)
{
case
SND_SOC_BIAS_STANDBY
:
ret
=
snd_soc_dai_set_sysclk
(
codec_dai
,
WM89
15
_SYSCLK_MCLK2
,
ret
=
snd_soc_dai_set_sysclk
(
codec_dai
,
WM89
96
_SYSCLK_MCLK2
,
32768
,
SND_SOC_CLOCK_IN
);
if
(
ret
<
0
)
return
ret
;
ret
=
snd_soc_dai_set_pll
(
codec_dai
,
WM89
15
_FLL_MCLK2
,
ret
=
snd_soc_dai_set_pll
(
codec_dai
,
WM89
96
_FLL_MCLK2
,
0
,
0
,
0
);
if
(
ret
<
0
)
{
pr_err
(
"Failed to stop FLL
\n
"
);
...
...
@@ -65,7 +65,7 @@ static int speyside_set_bias_level_post(struct snd_soc_card *card,
case
SND_SOC_BIAS_PREPARE
:
if
(
card
->
dapm
.
bias_level
==
SND_SOC_BIAS_STANDBY
)
{
ret
=
snd_soc_dai_set_pll
(
codec_dai
,
0
,
WM89
15
_FLL_MCLK2
,
WM89
96
_FLL_MCLK2
,
32768
,
48000
*
256
);
if
(
ret
<
0
)
{
pr_err
(
"Failed to start FLL
\n
"
);
...
...
@@ -73,7 +73,7 @@ static int speyside_set_bias_level_post(struct snd_soc_card *card,
}
ret
=
snd_soc_dai_set_sysclk
(
codec_dai
,
WM89
15
_SYSCLK_FLL
,
WM89
96
_SYSCLK_FLL
,
48000
*
256
,
SND_SOC_CLOCK_IN
);
if
(
ret
<
0
)
...
...
@@ -149,26 +149,26 @@ static void speyside_set_polarity(struct snd_soc_codec *codec,
int
polarity
)
{
speyside_jack_polarity
=
!
polarity
;
gpio_direction_output
(
WM89
15
_HPSEL_GPIO
,
speyside_jack_polarity
);
gpio_direction_output
(
WM89
96
_HPSEL_GPIO
,
speyside_jack_polarity
);
/* Re-run DAPM to make sure we're using the correct mic bias */
snd_soc_dapm_sync
(
&
codec
->
dapm
);
}
static
int
speyside_wm89
15
_init
(
struct
snd_soc_pcm_runtime
*
rtd
)
static
int
speyside_wm89
96
_init
(
struct
snd_soc_pcm_runtime
*
rtd
)
{
struct
snd_soc_dai
*
dai
=
rtd
->
codec_dai
;
struct
snd_soc_codec
*
codec
=
rtd
->
codec
;
int
ret
;
ret
=
snd_soc_dai_set_sysclk
(
dai
,
WM89
15
_SYSCLK_MCLK2
,
32768
,
0
);
ret
=
snd_soc_dai_set_sysclk
(
dai
,
WM89
96
_SYSCLK_MCLK2
,
32768
,
0
);
if
(
ret
<
0
)
return
ret
;
ret
=
gpio_request
(
WM89
15
_HPSEL_GPIO
,
"HP_SEL"
);
ret
=
gpio_request
(
WM89
96
_HPSEL_GPIO
,
"HP_SEL"
);
if
(
ret
!=
0
)
pr_err
(
"Failed to request HP_SEL GPIO: %d
\n
"
,
ret
);
gpio_direction_output
(
WM89
15
_HPSEL_GPIO
,
speyside_jack_polarity
);
gpio_direction_output
(
WM89
96
_HPSEL_GPIO
,
speyside_jack_polarity
);
ret
=
snd_soc_jack_new
(
codec
,
"Headset"
,
SND_JACK_HEADSET
|
SND_JACK_BTN_0
,
...
...
@@ -182,7 +182,7 @@ static int speyside_wm8915_init(struct snd_soc_pcm_runtime *rtd)
if
(
ret
)
return
ret
;
wm89
15
_detect
(
codec
,
&
speyside_headset
,
speyside_set_polarity
);
wm89
96
_detect
(
codec
,
&
speyside_headset
,
speyside_set_polarity
);
return
0
;
}
...
...
@@ -205,16 +205,16 @@ static struct snd_soc_dai_link speyside_dai[] = {
.
name
=
"CPU"
,
.
stream_name
=
"CPU"
,
.
cpu_dai_name
=
"samsung-i2s.0"
,
.
codec_dai_name
=
"wm89
15
-aif1"
,
.
codec_dai_name
=
"wm89
96
-aif1"
,
.
platform_name
=
"samsung-audio"
,
.
codec_name
=
"wm89
15
.1-001a"
,
.
init
=
speyside_wm89
15
_init
,
.
codec_name
=
"wm89
96
.1-001a"
,
.
init
=
speyside_wm89
96
_init
,
.
ops
=
&
speyside_ops
,
},
{
.
name
=
"Baseband"
,
.
stream_name
=
"Baseband"
,
.
cpu_dai_name
=
"wm89
15
-aif2"
,
.
cpu_dai_name
=
"wm89
96
-aif2"
,
.
codec_dai_name
=
"wm1250-ev1"
,
.
codec_name
=
"wm1250-ev1.1-0027"
,
.
ops
=
&
speyside_ops
,
...
...
sound/soc/tegra/tegra_pcm.c
浏览文件 @
6f1a7767
...
...
@@ -309,9 +309,14 @@ static int tegra_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream)
static
void
tegra_pcm_deallocate_dma_buffer
(
struct
snd_pcm
*
pcm
,
int
stream
)
{
struct
snd_pcm_substream
*
substream
=
pcm
->
streams
[
stream
].
substream
;
struct
snd_dma_buffer
*
buf
=
&
substream
->
dma_buffer
;
struct
snd_pcm_substream
*
substream
;
struct
snd_dma_buffer
*
buf
;
substream
=
pcm
->
streams
[
stream
].
substream
;
if
(
!
substream
)
return
;
buf
=
&
substream
->
dma_buffer
;
if
(
!
buf
->
area
)
return
;
...
...
sound/soc/tegra/tegra_wm8903.c
浏览文件 @
6f1a7767
...
...
@@ -56,6 +56,7 @@
#define GPIO_HP_MUTE BIT(1)
#define GPIO_INT_MIC_EN BIT(2)
#define GPIO_EXT_MIC_EN BIT(3)
#define GPIO_HP_DET BIT(4)
struct
tegra_wm8903
{
struct
tegra_asoc_utils_data
util_data
;
...
...
@@ -304,6 +305,7 @@ static int tegra_wm8903_init(struct snd_soc_pcm_runtime *rtd)
snd_soc_jack_add_gpios
(
&
tegra_wm8903_hp_jack
,
1
,
&
tegra_wm8903_hp_jack_gpio
);
machine
->
gpio_requested
|=
GPIO_HP_DET
;
}
snd_soc_jack_new
(
codec
,
"Mic Jack"
,
SND_JACK_MICROPHONE
,
...
...
@@ -429,10 +431,10 @@ static int __devexit tegra_wm8903_driver_remove(struct platform_device *pdev)
struct
tegra_wm8903
*
machine
=
snd_soc_card_get_drvdata
(
card
);
struct
tegra_wm8903_platform_data
*
pdata
=
machine
->
pdata
;
snd_soc_unregister_card
(
card
);
tegra_asoc_utils_fini
(
&
machine
->
util_data
);
if
(
machine
->
gpio_requested
&
GPIO_HP_DET
)
snd_soc_jack_free_gpios
(
&
tegra_wm8903_hp_jack
,
1
,
&
tegra_wm8903_hp_jack_gpio
);
if
(
machine
->
gpio_requested
&
GPIO_EXT_MIC_EN
)
gpio_free
(
pdata
->
gpio_ext_mic_en
);
if
(
machine
->
gpio_requested
&
GPIO_INT_MIC_EN
)
...
...
@@ -441,6 +443,11 @@ static int __devexit tegra_wm8903_driver_remove(struct platform_device *pdev)
gpio_free
(
pdata
->
gpio_hp_mute
);
if
(
machine
->
gpio_requested
&
GPIO_SPKR_EN
)
gpio_free
(
pdata
->
gpio_spkr_en
);
machine
->
gpio_requested
=
0
;
snd_soc_unregister_card
(
card
);
tegra_asoc_utils_fini
(
&
machine
->
util_data
);
kfree
(
machine
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录