|
@@ -0,0 +1,106 @@
|
|
|
+/*
|
|
|
+ * linux/arch/arm/mach-omap2/io.c
|
|
|
+ *
|
|
|
+ * OMAP2 I/O mapping code
|
|
|
+ *
|
|
|
+ * Copyright (C) 2005 Nokia Corporation
|
|
|
+ * Copyright (C) 2007-2009 Texas Instruments
|
|
|
+ *
|
|
|
+ * Author:
|
|
|
+ * Juha Yrjola <juha.yrjola@nokia.com>
|
|
|
+ * Syed Khasim <x0khasim@ti.com>
|
|
|
+ *
|
|
|
+ * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@ti.com>
|
|
|
+ *
|
|
|
+ * This program is free software; you can redistribute it and/or modify
|
|
|
+ * it under the terms of the GNU General Public License version 2 as
|
|
|
+ * published by the Free Software Foundation.
|
|
|
+ */
|
|
|
+#include <linux/module.h>
|
|
|
+#include <linux/kernel.h>
|
|
|
+#include <linux/init.h>
|
|
|
+#include <linux/io.h>
|
|
|
+#include <linux/clk.h>
|
|
|
+
|
|
|
+#include <asm/tlb.h>
|
|
|
+#include <asm/mach/map.h>
|
|
|
+
|
|
|
+#include <linux/omap-dma.h>
|
|
|
+
|
|
|
+#include "omap_hwmod.h"
|
|
|
+#include "soc.h"
|
|
|
+#include "iomap.h"
|
|
|
+#include "voltage.h"
|
|
|
+#include "powerdomain.h"
|
|
|
+#include "clockdomain.h"
|
|
|
+#include "common.h"
|
|
|
+#include "clock.h"
|
|
|
+#include "clock2xxx.h"
|
|
|
+#include "clock3xxx.h"
|
|
|
+#include "clock44xx.h"
|
|
|
+#include "omap-pm.h"
|
|
|
+#include "sdrc.h"
|
|
|
+#include "control.h"
|
|
|
+#include "serial.h"
|
|
|
+#include "sram.h"
|
|
|
+#include "cm2xxx.h"
|
|
|
+#include "cm3xxx.h"
|
|
|
+#include "prm.h"
|
|
|
+#include "cm.h"
|
|
|
+#include "prcm_mpu44xx.h"
|
|
|
+#include "prminst44xx.h"
|
|
|
+#include "cminst44xx.h"
|
|
|
+#include "prm2xxx.h"
|
|
|
+#include "prm3xxx.h"
|
|
|
+#include "prm44xx.h"
|
|
|
+
|
|
|
+/*
|
|
|
+ * omap_clk_init: points to a function that does the SoC-specific
|
|
|
+ * clock initializations
|
|
|
+ */
|
|
|
+int (*omap_clk_init)(void);
|
|
|
+
|
|
|
+/*
|
|
|
+ * The machine specific code may provide the extra mapping besides the
|
|
|
+ * default mapping provided here.
|
|
|
+ */
|
|
|
+
|
|
|
+#if defined(CONFIG_SOC_OMAP2420) || defined(CONFIG_SOC_OMAP2430)
|
|
|
+static struct map_desc omap24xx_io_desc[] __initdata = {
|
|
|
+ {
|
|
|
+ .virtual = L3_24XX_VIRT,
|
|
|
+ .pfn = __phys_to_pfn(L3_24XX_PHYS),
|
|
|
+ .length = L3_24XX_SIZE,
|
|
|
+ .type = MT_DEVICE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .virtual = L4_24XX_VIRT,
|
|
|
+ .pfn = __phys_to_pfn(L4_24XX_PHYS),
|
|
|
+ .length = L4_24XX_SIZE,
|
|
|
+ .type = MT_DEVICE
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+#ifdef CONFIG_SOC_OMAP2420
|
|
|
+static struct map_desc omap242x_io_desc[] __initdata = {
|
|
|
+ {
|
|
|
+ .virtual = DSP_MEM_2420_VIRT,
|
|
|
+ .pfn = __phys_to_pfn(DSP_MEM_2420_PHYS),
|
|
|
+ .length = DSP_MEM_2420_SIZE,
|
|
|
+ .type = MT_DEVICE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .virtual = DSP_IPI_2420_VIRT,
|
|
|
+ .pfn = __phys_to_pfn(DSP_IPI_2420_PHYS),
|
|
|
+ .length = DSP_IPI_2420_SIZE,
|
|
|
+ .type = MT_DEVICE
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .virtual = DSP_MMU_2420_VIRT,
|
|
|
+ .pfn = __phys_to_pfn(DSP_MMU_2420_PHYS),
|
|
|
+ .length = DSP_MMU_2420_SIZE,
|
|
|
+ .type = MT_DEVICE
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+#endif
|