summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManjula Gupta <magupta@nvidia.com>2010-12-22 17:37:43 +0530
committerBharat Nihalani <bnihalani@nvidia.com>2010-12-28 23:14:55 -0800
commit32b2492a685c498439d473a1634a9637ff611d4d (patch)
tree14a126ab8c7f2ef946e2471d59043b12df1f2b32
parent82271f4dd0b8263f0f6cb472f0025a1d846d45fb (diff)
[ARM] tegra: ventana: add spdif device to ventana_devices.
Adds tegra spdif device on ventana board. For bug: 773235 Change-Id: I7d14b2fd000261db009a07c3b0507b267e06606d Reviewed-on: http://git-master/r/14092 Tested-by: Manjula Gupta <magupta@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/board-ventana.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-ventana.c b/arch/arm/mach-tegra/board-ventana.c
index ec2ed8bc0e9e..42f78ff84183 100644
--- a/arch/arm/mach-tegra/board-ventana.c
+++ b/arch/arm/mach-tegra/board-ventana.c
@@ -51,6 +51,7 @@
#include <mach/iomap.h>
#include <mach/io.h>
#include <mach/i2s.h>
+#include <mach/spdif.h>
#include <mach/audio.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -85,6 +86,13 @@ static struct platform_device debug_uart = {
},
};
+static struct tegra_audio_platform_data tegra_spdif_pdata = {
+ .dma_on = true, /* use dma by default */
+ .i2s_clk_rate = 5644800,
+ .mode = SPDIF_BIT_MODE_MODE16BIT,
+ .fifo_fmt = 0,
+};
+
static struct tegra_utmip_config utmi_phy_config[] = {
[0] = {
.hssync_start_delay = 0,
@@ -162,6 +170,7 @@ static __initdata struct tegra_clk_init_table ventana_clk_init_table[] = {
{ "i2s2", "pll_a_out0", 11289600, true},
{ "audio", "pll_a_out0", 11289600, true},
{ "audio_2x", "audio", 22579200, true},
+ { "spdif_out", "pll_a_out0", 5644800, false},
{ "kbc", "clk_32k", 32768, true},
{ NULL, NULL, 0, 0},
};
@@ -347,6 +356,7 @@ static struct platform_device *ventana_devices[] __initdata = {
#endif
&tegra_wdt_device,
&tegra_i2s_device1,
+ &tegra_spdif_device,
&tegra_avp_device,
&tegra_camera,
};
@@ -541,6 +551,7 @@ static void __init tegra_ventana_init(void)
snprintf(serial, sizeof(serial), "%llx", tegra_chip_uid());
andusb_plat.serial_number = kstrdup(serial, GFP_KERNEL);
tegra_i2s_device1.dev.platform_data = &tegra_audio_pdata;
+ tegra_spdif_device.dev.platform_data = &tegra_spdif_pdata;
tegra_ehci2_device.dev.platform_data
= &ventana_ehci2_ulpi_platform_data;
platform_add_devices(ventana_devices, ARRAY_SIZE(ventana_devices));