summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu.c
diff options
context:
space:
mode:
authorVinod G <vinodg@nvidia.com>2011-05-09 14:14:01 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-05-17 12:04:08 -0700
commit45c8916ab8e12fdc3e122a64e564467d5cbe20ec (patch)
treeb5050dcd70ff53babf787118f7b249b921d7c0d2 /arch/arm/mach-tegra/board-cardhu.c
parent3bcc4026c53db3a0b001e900b5cd79b5cfb0f948 (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.c23
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)