diff options
author | Vinod G <vinodg@nvidia.com> | 2011-05-09 14:14:01 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-05-17 12:04:08 -0700 |
commit | 45c8916ab8e12fdc3e122a64e564467d5cbe20ec (patch) | |
tree | b5050dcd70ff53babf787118f7b249b921d7c0d2 /arch/arm/mach-tegra/board-cardhu.c | |
parent | 3bcc4026c53db3a0b001e900b5cd79b5cfb0f948 (diff) |
arm: tegra: Add audio manager common interfaces.
Audio manager common interfaces are defined to be called from
SOC code. Audio manager will make the decision which all modules to
be controlled based on use case connection.
Correction added to the speaker amp and i2c gpio is provided for
controlling the speaker amplification. Removed the speakersetting call.
Change-Id: Id2c7f953fc78f66bee2e1d4773e03548de0ba5b4
Reviewed-on: http://git-master/r/30891
Reviewed-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com>
Tested-by: Vinod Gopalakrishnakurup <vinodg@nvidia.com>
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c index d9aad8b07c86..fa0a0c63daf0 100644 --- a/arch/arm/mach-tegra/board-cardhu.c +++ b/arch/arm/mach-tegra/board-cardhu.c @@ -47,6 +47,7 @@ #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <mach/usb_phy.h> +#include <sound/wm8903.h> #include "board.h" #include "clock.h" @@ -263,9 +264,25 @@ static struct platform_device androidusb_device = { }, }; +static struct wm8903_platform_data wm8903_pdata = { + .irq_active_low = 0, + .micdet_cfg = 0x83, /* enable mic bias current */ + .micdet_delay = 0, + .gpio_base = WM8903_GPIO_BASE, + .gpio_cfg = { + WM8903_GPIO_NO_CONFIG, + WM8903_GPIO_NO_CONFIG, + 0, /* as output pin */ + WM8903_GPn_FN_GPIO_MICBIAS_CURRENT_DETECT + << WM8903_GP4_FN_SHIFT, /* as micbias current detect */ + WM8903_GPIO_NO_CONFIG, + }, +}; + static struct i2c_board_info __initdata cardhu_i2c_bus1_board_info[] = { { I2C_BOARD_INFO("wm8903", 0x1a), + .platform_data = &wm8903_pdata, }, }; @@ -345,9 +362,9 @@ static struct tegra_audio_platform_data tegra_spdif_pdata = { struct wired_jack_conf audio_wr_jack_conf = { .hp_det_n = TEGRA_GPIO_PW2, - .en_mic_ext = TEGRA_GPIO_PX1, - .en_mic_int = TEGRA_GPIO_PX0, - .spkr_amp_reg = "avdd_amp" + .cdc_irq = TEGRA_GPIO_PW3, + .en_spkr = WM8903_GP3, + .spkr_amp_reg = "vdd_3v3_spk_amp" }; static void cardhu_audio_init(void) |