diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2011-07-19 12:31:35 +0530 |
---|---|---|
committer | Angus Ainslie <angus.ainslie@linaro.org> | 2011-08-18 17:15:33 -0600 |
commit | 972ef760d90bcd552978f67569345acc6278aeee (patch) | |
tree | ae4f7a93448b2eedc179a6d122766d7a1fb92669 | |
parent | cb19058c7de64b5269faf7f10c21860b553aef05 (diff) |
ARM: EXYNOS4: Add GPIO setting for audio record
Adding GPIO setting for record path to define
directions and enabling them.
Signed-off-by: Giridhar Maruthy <giridhar.maruthy@linaro.org>
Conflicts:
arch/arm/mach-exynos4/mach-smdkv310.c
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
-rw-r--r-- | arch/arm/mach-exynos4/mach-smdkv310.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-exynos4/mach-smdkv310.c index 809aa3d1019d..d4e2ff3b5484 100644 --- a/arch/arm/mach-exynos4/mach-smdkv310.c +++ b/arch/arm/mach-exynos4/mach-smdkv310.c @@ -24,6 +24,8 @@ #include <plat/fimg2d.h> #include <linux/regulator/machine.h> #include <linux/regulator/max8649.h> +#include <linux/regulator/fixed.h> +#include <linux/mfd/wm8994/pdata.h> #include <asm/mach/arch.h> #include <asm/mach-types.h> @@ -274,6 +276,21 @@ static struct fimg2d_platdata fimg2d_data __initdata = { .clkrate = 250 * 1000000, }; #endif + +#if defined(CONFIG_SND_SOC_WM8994) || defined(CONFIG_SND_SOC_WM8994_MODULE) +static struct wm8994_pdata wm8994_platform_data = { + /* configure gpio1 function: 0x0001(Logic level input/output) */ + .gpio_defaults[0] = 0x0001, + /* configure gpio3/4/5/7 function for AIF2 voice */ + .gpio_defaults[2] = 0x8100,/*BCLK2 in*/ + .gpio_defaults[3] = 0x8100,/*LRCLK2 in*/ + .gpio_defaults[4] = 0x8100,/*DACDAT2 in*/ + /* configure gpio6 function: 0x0001(Logic level input/output) */ + .gpio_defaults[5] = 0x0001, + .gpio_defaults[6] = 0x0100,/*ADCDAT2 out*/ +}; +#endif + static struct regulator_consumer_supply max8952_supply[] = { REGULATOR_SUPPLY("vdd_arm", NULL), }; @@ -394,7 +411,11 @@ static struct samsung_keypad_platdata smdkv310_keypad_data __initdata = { }; static struct i2c_board_info i2c_devs1[] __initdata = { - {I2C_BOARD_INFO("wm8994", 0x1a),}, + {I2C_BOARD_INFO("wm8994", 0x1a), +#if defined(CONFIG_SND_SOC_WM8994) || defined(CONFIG_SND_SOC_WM8994_MODULE) + .platform_data = &wm8994_platform_data, +#endif + }, }; static struct platform_device *smdkv310_devices[] __initdata = { |