summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/devices.c
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2011-07-19 16:26:52 -0600
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:42:51 -0800
commitda010acb329661607c8c99505274f71bdca911e4 (patch)
tree4029ac65beda4db3a9432d1c6151ebce3a7162f5 /arch/arm/mach-tegra/devices.c
parent6fd1d45bf51f4b64bb607d4b8b04ea6fbff5f053 (diff)
ARM: Tegra: Add T30 audio-related entries in devices.c
Also, remove "audio" platform device; it won't be used with the ALSA driver. Signed-off-by: Stephen Warren <swarren@nvidia.com> Rebase-Id: Rcbe1845a8d41292dfa82d61ff662d2f233b20af2
Diffstat (limited to 'arch/arm/mach-tegra/devices.c')
-rw-r--r--arch/arm/mach-tegra/devices.c115
1 files changed, 101 insertions, 14 deletions
diff --git a/arch/arm/mach-tegra/devices.c b/arch/arm/mach-tegra/devices.c
index 87f62d9cabf2..b1b71b950979 100644
--- a/arch/arm/mach-tegra/devices.c
+++ b/arch/arm/mach-tegra/devices.c
@@ -894,13 +894,84 @@ struct platform_device tegra_i2s_device2 = {
.resource = i2s_resource2,
.num_resources = ARRAY_SIZE(i2s_resource2),
};
+#else
+static struct resource i2s_resource0[] = {
+ [0] = {
+ .start = TEGRA_I2S0_BASE,
+ .end = TEGRA_I2S0_BASE + TEGRA_I2S0_SIZE - 1,
+ .flags = IORESOURCE_MEM
+ }
+};
-struct platform_device tegra_pcm_device = {
- .name = "tegra-pcm-audio",
- .id = -1,
+struct platform_device tegra_i2s_device0 = {
+ .name = "tegra30-i2s",
+ .id = 0,
+ .resource = i2s_resource0,
+ .num_resources = ARRAY_SIZE(i2s_resource0),
};
+static struct resource i2s_resource1[] = {
+ [0] = {
+ .start = TEGRA_I2S1_BASE,
+ .end = TEGRA_I2S1_BASE + TEGRA_I2S1_SIZE - 1,
+ .flags = IORESOURCE_MEM
+ }
+};
+struct platform_device tegra_i2s_device1 = {
+ .name = "tegra30-i2s",
+ .id = 1,
+ .resource = i2s_resource1,
+ .num_resources = ARRAY_SIZE(i2s_resource1),
+};
+
+static struct resource i2s_resource2[] = {
+ [0] = {
+ .start = TEGRA_I2S2_BASE,
+ .end = TEGRA_I2S2_BASE + TEGRA_I2S2_SIZE - 1,
+ .flags = IORESOURCE_MEM
+ }
+};
+
+struct platform_device tegra_i2s_device2 = {
+ .name = "tegra30-i2s",
+ .id = 2,
+ .resource = i2s_resource2,
+ .num_resources = ARRAY_SIZE(i2s_resource2),
+};
+
+static struct resource i2s_resource3[] = {
+ [0] = {
+ .start = TEGRA_I2S3_BASE,
+ .end = TEGRA_I2S3_BASE + TEGRA_I2S3_SIZE - 1,
+ .flags = IORESOURCE_MEM
+ }
+};
+
+struct platform_device tegra_i2s_device3 = {
+ .name = "tegra30-i2s",
+ .id = 3,
+ .resource = i2s_resource3,
+ .num_resources = ARRAY_SIZE(i2s_resource3),
+};
+
+static struct resource i2s_resource4[] = {
+ [0] = {
+ .start = TEGRA_I2S4_BASE,
+ .end = TEGRA_I2S4_BASE + TEGRA_I2S4_SIZE - 1,
+ .flags = IORESOURCE_MEM
+ }
+};
+
+struct platform_device tegra_i2s_device4 = {
+ .name = "tegra30-i2s",
+ .id = 4,
+ .resource = i2s_resource4,
+ .num_resources = ARRAY_SIZE(i2s_resource4),
+};
+#endif
+
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
static struct resource spdif_resource[] = {
[0] = {
.start = INT_SPDIF,
@@ -918,18 +989,7 @@ static struct resource spdif_resource[] = {
.flags = IORESOURCE_MEM
}
};
-
#else
-struct platform_device tegra_i2s_device0 = {
- .name = "i2s",
- .id = 0,
-};
-
-struct platform_device tegra_audio_device = {
- .name = "audio",
- .id = 1,
-};
-
/* FIXME : Temporarly adding - find the right solution */
static struct resource spdif_resource[] = {
@@ -953,6 +1013,33 @@ struct platform_device tegra_spdif_device = {
.num_resources = ARRAY_SIZE(spdif_resource),
};
+#ifndef CONFIG_ARCH_TEGRA_2x_SOC
+static struct resource ahub_resource[] = {
+ [0] = {
+ .start = TEGRA_APBIF0_BASE,
+ .end = TEGRA_APBIF3_BASE + TEGRA_APBIF3_SIZE - 1,
+ .flags = IORESOURCE_MEM
+ },
+ [1] = {
+ .start = TEGRA_AHUB_BASE,
+ .end = TEGRA_AHUB_BASE + TEGRA_AHUB_SIZE - 1,
+ .flags = IORESOURCE_MEM
+ }
+};
+
+struct platform_device tegra_ahub_device = {
+ .name = "tegra30-ahub",
+ .id = -1,
+ .resource = ahub_resource,
+ .num_resources = ARRAY_SIZE(ahub_resource),
+};
+#endif
+
+struct platform_device tegra_pcm_device = {
+ .name = "tegra-pcm-audio",
+ .id = -1,
+};
+
#if defined(CONFIG_SND_HDA_TEGRA)
static u64 tegra_hda_dma_mask = DMA_BIT_MASK(32);