summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-cardhu-panel.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-panel.c')
-rw-r--r--arch/arm/mach-tegra/board-cardhu-panel.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-panel.c b/arch/arm/mach-tegra/board-cardhu-panel.c
index da281ecff806..b64a453f9750 100644
--- a/arch/arm/mach-tegra/board-cardhu-panel.c
+++ b/arch/arm/mach-tegra/board-cardhu-panel.c
@@ -35,6 +35,7 @@
#include <mach/iomap.h>
#include <mach/dc.h>
#include <mach/fb.h>
+#include <mach/smmu.h>
#include "board.h"
#include "board-cardhu.h"
@@ -1034,8 +1035,17 @@ static struct platform_device cardhu_nvmap_device = {
#endif
#if defined(CONFIG_ION_TEGRA)
+
+static struct platform_device tegra_iommu_device = {
+ .name = "tegra_iommu_device",
+ .id = -1,
+ .dev = {
+ .platform_data = (void *)((1 << HWGRP_COUNT) - 1),
+ },
+};
+
static struct ion_platform_data tegra_ion_data = {
- .nr = 3,
+ .nr = 4,
.heaps = {
{
.type = ION_HEAP_TYPE_CARVEOUT,
@@ -1058,6 +1068,14 @@ static struct ion_platform_data tegra_ion_data = {
.base = 0,
.size = 0,
},
+ {
+ .type = ION_HEAP_TYPE_IOMMU,
+ .id = TEGRA_ION_HEAP_IOMMU,
+ .name = "iommu",
+ .base = TEGRA_SMMU_BASE,
+ .size = TEGRA_SMMU_SIZE,
+ .dev = &tegra_iommu_device.dev,
+ },
},
};