From dc6eebfb6f28318b1e742153e185dc0b4a9577da Mon Sep 17 00:00:00 2001 From: Iliyan Malchev Date: Tue, 28 Sep 2010 16:12:48 -0700 Subject: [PATCH] [ARM] tegra: add spdif device and resources Signed-off-by: Iliyan Malchev --- arch/arm/mach-tegra/devices.c | 25 +++++++++++++++++++++++++ arch/arm/mach-tegra/devices.h | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-tegra/devices.c b/arch/arm/mach-tegra/devices.c index ef7a3e4146a4..0c90d2e2c52b 100644 --- a/arch/arm/mach-tegra/devices.c +++ b/arch/arm/mach-tegra/devices.c @@ -479,6 +479,24 @@ static struct resource i2s_resource2[] = { } }; +static struct resource spdif_resource[] = { + [0] = { + .start = INT_SPDIF, + .end = INT_SPDIF, + .flags = IORESOURCE_IRQ + }, + [1] = { + .start = TEGRA_DMA_REQ_SEL_SPD_I, + .end = TEGRA_DMA_REQ_SEL_SPD_I, + .flags = IORESOURCE_DMA + }, + [2] = { + .start = TEGRA_SPDIF_BASE, + .end = TEGRA_SPDIF_BASE + TEGRA_SPDIF_SIZE - 1, + .flags = IORESOURCE_MEM + } +}; + struct platform_device tegra_i2s_device1 = { .name = "i2s", .id = 0, @@ -493,6 +511,13 @@ struct platform_device tegra_i2s_device2 = { .num_resources = ARRAY_SIZE(i2s_resource2), }; +struct platform_device tegra_spdif_device = { + .name = "spdif_out", + .id = -1, + .resource = spdif_resource, + .num_resources = ARRAY_SIZE(spdif_resource), +}; + static struct resource tegra_gart_resources[] = { [0] = { .name = "mc", diff --git a/arch/arm/mach-tegra/devices.h b/arch/arm/mach-tegra/devices.h index dbebcbb45dcd..d35b6b91b0e6 100644 --- a/arch/arm/mach-tegra/devices.h +++ b/arch/arm/mach-tegra/devices.h @@ -55,5 +55,5 @@ extern struct platform_device tegra_uart1_device; extern struct platform_device tegra_uart2_device; extern struct platform_device tegra_uart3_device; extern struct platform_device tegra_uart4_device; - +extern struct platform_device tegra_spdif_device; #endif -- 2.34.1