diff options
author | Vijay Mali <vmali@nvidia.com> | 2012-08-25 17:20:37 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 12:32:31 -0700 |
commit | daf35830337ada3d423d1e38650a3d96a5b32b59 (patch) | |
tree | 0bea8a4076e4bb7da5e8825bfb168578ec3c0125 /arch | |
parent | 4e3055232c4bdc3238af31f9cf6d00394bb63244 (diff) |
ARM: tegra: dalmore: Add Audio Devices
Add audio devices for ALC5640, I2S, DAM.
Add I2C client info. Register audio devices.
Update build configuration flag.
Change-Id: Ia4a20c8c802c6d4ef49c7a21d8f412f982d10431
Signed-off-by: Vijay Mali <vmali@nvidia.com>
Reviewed-on: http://git-master/r/127362
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Rebase-Id: R0cbc8dd9c7c206f1fd6d81811d5ad1985ee03ca1
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-dalmore.c | 24 | ||||
-rw-r--r-- | arch/arm/mach-tegra/board-dalmore.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/tegra_asoc_pdata.h | 1 |
4 files changed, 23 insertions, 5 deletions
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index f89c81903212..004fab9b3773 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig @@ -157,7 +157,7 @@ config MACH_CURACAO config MACH_DALMORE bool "Dalmore board" - depends on ARCH_TEGRA_3x_SOC + depends on !ARCH_TEGRA_2x_SOC select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC help diff --git a/arch/arm/mach-tegra/board-dalmore.c b/arch/arm/mach-tegra/board-dalmore.c index a079aaeef4f1..9a38daf1ce7e 100644 --- a/arch/arm/mach-tegra/board-dalmore.c +++ b/arch/arm/mach-tegra/board-dalmore.c @@ -55,7 +55,7 @@ #include <mach/io.h> #include <mach/io_dpd.h> #include <mach/i2s.h> -#include <mach/tegra_rt5640_pdata.h> +#include <mach/tegra_asoc_pdata.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <mach/usb_phy.h> @@ -143,7 +143,9 @@ static struct tegra_i2c_platform_data dalmore_i2c5_platform_data = { .arb_recovery = arb_lost_recovery, }; - +static struct i2c_board_info __initdata rt5640_board_info = { + I2C_BOARD_INFO("rt5640", 0x1c), +}; static void dalmore_i2c_init(void) { @@ -157,6 +159,8 @@ static void dalmore_i2c_init(void) tegra_i2c_device4.dev.platform_data = &dalmore_i2c4_platform_data; tegra_i2c_device5.dev.platform_data = &dalmore_i2c5_platform_data; + i2c_register_board_info(0, &rt5640_board_info, 1); + platform_device_register(&tegra_i2c_device5); platform_device_register(&tegra_i2c_device4); platform_device_register(&tegra_i2c_device3); @@ -308,12 +312,18 @@ static struct platform_device tegra_rtc_device = { .num_resources = ARRAY_SIZE(tegra_rtc_resources), }; -static struct tegra_rt5640_platform_data dalmore_audio_pdata = { +static struct tegra_asoc_platform_data dalmore_audio_pdata = { .gpio_spkr_en = TEGRA_GPIO_SPKR_EN, .gpio_hp_det = TEGRA_GPIO_HP_DET, .gpio_hp_mute = -1, .gpio_int_mic_en = TEGRA_GPIO_INT_MIC_EN, .gpio_ext_mic_en = TEGRA_GPIO_EXT_MIC_EN, + .gpio_ldo1_en = TEGRA_GPIO_LDO1_EN, + .i2s_param[HIFI_CODEC] = { + .audio_port_id = 1, + .is_i2s_master = 1, + .i2s_mode = TEGRA_DAIFMT_I2S, + }, }; static struct platform_device dalmore_audio_device = { @@ -339,6 +349,12 @@ static struct platform_device *dalmore_devices[] __initdata = { &tegra_se_device, #endif &tegra_ahub_device, + &tegra_dam_device0, + &tegra_dam_device1, + &tegra_dam_device2, + &tegra_i2s_device1, + &tegra_i2s_device3, + &tegra_i2s_device4, &dalmore_audio_device, &tegra_hda_device, #if defined(CONFIG_CRYPTO_DEV_TEGRA_AES) @@ -480,7 +496,7 @@ static void dalmore_audio_init(void) tegra_get_board_info(&board_info); - dalmore_audio_pdata.codec_name = "rt5640.4-001c"; + dalmore_audio_pdata.codec_name = "rt5640.0-001c"; dalmore_audio_pdata.codec_dai_name = "rt5640-aif1"; } diff --git a/arch/arm/mach-tegra/board-dalmore.h b/arch/arm/mach-tegra/board-dalmore.h index 6d102bf16fa1..c2908ff13004 100644 --- a/arch/arm/mach-tegra/board-dalmore.h +++ b/arch/arm/mach-tegra/board-dalmore.h @@ -32,6 +32,7 @@ /* Audio-related GPIOs */ #define TEGRA_GPIO_CDC_IRQ TEGRA_GPIO_PW3 +#define TEGRA_GPIO_LDO1_EN TEGRA_GPIO_PH4 #define TEGRA_GPIO_SPKR_EN -1 #define TEGRA_GPIO_HP_DET TEGRA_GPIO_PW2 #define TEGRA_GPIO_INT_MIC_EN TEGRA_GPIO_PK3 diff --git a/arch/arm/mach-tegra/include/mach/tegra_asoc_pdata.h b/arch/arm/mach-tegra/include/mach/tegra_asoc_pdata.h index 7aada6940b39..8d76ec9edce6 100644 --- a/arch/arm/mach-tegra/include/mach/tegra_asoc_pdata.h +++ b/arch/arm/mach-tegra/include/mach/tegra_asoc_pdata.h @@ -42,6 +42,7 @@ struct tegra_asoc_platform_data { int gpio_hp_mute; int gpio_int_mic_en; int gpio_ext_mic_en; + int gpio_ldo1_en; unsigned int debounce_time_hp; struct i2s_config i2s_param[NUM_I2S_DEVICES]; }; |