aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/board-da830-evm.c
diff options
context:
space:
mode:
authorChaithrika U S <chaithrika@ti.com>2009-08-11 17:01:59 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2009-08-26 11:55:52 +0300
commite33ef5e3b368b31705d3024ee6a326f2a85a78fb (patch)
treed42ede5148b7c4dd0a9245d12eaff33d46e2302f /arch/arm/mach-davinci/board-da830-evm.c
parent5a8d5441f4aac3ef0478d5de723422304c611926 (diff)
downloadkernel_samsung_smdk4412-e33ef5e3b368b31705d3024ee6a326f2a85a78fb.zip
kernel_samsung_smdk4412-e33ef5e3b368b31705d3024ee6a326f2a85a78fb.tar.gz
kernel_samsung_smdk4412-e33ef5e3b368b31705d3024ee6a326f2a85a78fb.tar.bz2
davinci: Audio support for DA830 EVM
Define resources for McASP1 used on DA830/OMAP-L137 EVM, add platform device defintion, initialization function. Additionally, this patch also adds version and FIFO related members to platform data structure. Signed-off-by: Chaithrika U S <chaithrika@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/board-da830-evm.c')
-rw-r--r--arch/arm/mach-davinci/board-da830-evm.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
index 9025669..a45340d 100644
--- a/arch/arm/mach-davinci/board-da830-evm.c
+++ b/arch/arm/mach-davinci/board-da830-evm.c
@@ -23,6 +23,7 @@
#include <mach/irqs.h>
#include <mach/cp_intc.h>
#include <mach/da8xx.h>
+#include <mach/asp.h>
#define DA830_EVM_PHY_MASK 0x0
#define DA830_EVM_MDIO_FREQUENCY 2200000 /* PHY bus frequency */
@@ -51,6 +52,25 @@ static struct davinci_uart_config da830_evm_uart_config __initdata = {
.enabled_uarts = 0x7,
};
+static u8 da830_iis_serializer_direction[] = {
+ RX_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
+ INACTIVE_MODE, TX_MODE, INACTIVE_MODE, INACTIVE_MODE,
+ INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE, INACTIVE_MODE,
+};
+
+static struct snd_platform_data da830_evm_snd_data = {
+ .tx_dma_offset = 0x2000,
+ .rx_dma_offset = 0x2000,
+ .op_mode = DAVINCI_MCASP_IIS_MODE,
+ .num_serializer = ARRAY_SIZE(da830_iis_serializer_direction),
+ .tdm_slots = 2,
+ .serial_dir = da830_iis_serializer_direction,
+ .eventq_no = EVENTQ_0,
+ .version = MCASP_VERSION_2,
+ .txnumevt = 1,
+ .rxnumevt = 1,
+};
+
static __init void da830_evm_init(void)
{
struct davinci_soc_info *soc_info = &davinci_soc_info;
@@ -93,6 +113,13 @@ static __init void da830_evm_init(void)
davinci_serial_init(&da830_evm_uart_config);
i2c_register_board_info(1, da830_evm_i2c_devices,
ARRAY_SIZE(da830_evm_i2c_devices));
+
+ ret = da8xx_pinmux_setup(da830_mcasp1_pins);
+ if (ret)
+ pr_warning("da830_evm_init: mcasp1 mux setup failed: %d\n",
+ ret);
+
+ da8xx_init_mcasp(1, &da830_evm_snd_data);
}
#ifdef CONFIG_SERIAL_8250_CONSOLE