summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author=?UTF-8?q?Vincent=20Stehl=C3=A9?= <v-stehle@ti.com>2012-05-31 16:16:51 +0800
committerAndy Green <andy.green@linaro.org>2012-06-20 12:08:12 +0800
commit71eb14020a065ecdd98d32ec05cf272939f1b463 (patch)
treeafae896355c6d8c07d0ff711007ce27fe1fdd1e5
parentbdf1c508201c5e35d50879b39638a09a778e304f (diff)
Fix Benelli reset hack!
Ugly, ugly busy-wait... Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
-rw-r--r--arch/arm/mach-omap2/iommu2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c
index 9334f43fc7f..95fc288c662 100644
--- a/arch/arm/mach-omap2/iommu2.c
+++ b/arch/arm/mach-omap2/iommu2.c
@@ -17,6 +17,7 @@
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/stringify.h>
+#include <linux/delay.h>
#include <plat/iommu.h>
#include <plat/omap_hwmod.h>
@@ -89,6 +90,10 @@ static int omap2_iommu_enable(struct omap_iommu *obj)
if (cpu_is_omap54xx()) {
pr_info("omap2_iommu_enable: doing Benelli reset HACK\n");
__raw_writel(3, OMAP2_L4_IO_ADDRESS(0x4AE06910));
+
+ /* We need some ugly wait here as reread or mb() are not
+ * sufficient... */
+ mdelay(500);
}
if (!obj->iopgd || !IS_ALIGNED((u32)obj->iopgd, SZ_16K))