ARM: tegra: move iomap.h to mach-tegra
authorStephen Warren <swarren@nvidia.com>
Thu, 4 Oct 2012 20:24:09 +0000 (14:24 -0600)
committerStephen Warren <swarren@nvidia.com>
Mon, 5 Nov 2012 18:36:06 +0000 (11:36 -0700)
Nothing outside mach-tegra uses this file, so there's no need for it to
be in <mach/>.

Since uncompress.h and debug-macro.S remain in include/mach, they need
to include "../../iomap.h" becaue of this change. uncompress.h will soon
be deleted in later multi-platform/single-zImage patches. debug-macro.S
will need to continue to include this header using an explicit relative
path, to avoid duplicating the physical->virtual address mapping that
iomap.h dictates.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
23 files changed:
arch/arm/mach-tegra/apbio.c
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/flowctrl.c
arch/arm/mach-tegra/fuse.c
arch/arm/mach-tegra/headsmp.S
arch/arm/mach-tegra/include/mach/debug-macro.S
arch/arm/mach-tegra/include/mach/iomap.h [deleted file]
arch/arm/mach-tegra/include/mach/uncompress.h
arch/arm/mach-tegra/io.c
arch/arm/mach-tegra/iomap.h [new file with mode: 0644]
arch/arm/mach-tegra/irq.c
arch/arm/mach-tegra/pcie.c
arch/arm/mach-tegra/platsmp.c
arch/arm/mach-tegra/pmc.c
arch/arm/mach-tegra/powergate.c
arch/arm/mach-tegra/reset.c
arch/arm/mach-tegra/sleep.S
arch/arm/mach-tegra/sleep.h
arch/arm/mach-tegra/tegra20_clocks.c
arch/arm/mach-tegra/tegra30_clocks.c
arch/arm/mach-tegra/timer.c

index bc949fb7efe89b6d594a9ba6fe2ac92b3b226640..d091675ba376bd8a2dd23c0ae1b4c4578e874b95 100644 (file)
@@ -15,7 +15,6 @@
 
 #include <linux/kernel.h>
 #include <linux/io.h>
-#include <mach/iomap.h>
 #include <linux/of.h>
 #include <linux/dmaengine.h>
 #include <linux/dma-mapping.h>
@@ -25,6 +24,7 @@
 #include <linux/mutex.h>
 
 #include "apbio.h"
+#include "iomap.h"
 
 #if defined(CONFIG_TEGRA20_APB_DMA)
 static DEFINE_MUTEX(tegra_apb_dma_lock);
index 82837e91d5a6a367117047d8a58265a3ff51d9ba..71569c01afd26311aa7b1cf163fcc259700c9f3e 100644 (file)
 #include <asm/mach/time.h>
 #include <asm/setup.h>
 
-#include <mach/iomap.h>
-
 #include "board.h"
 #include "clock.h"
 #include "common.h"
+#include "iomap.h"
 
 struct tegra_ehci_platform_data tegra_ehci1_pdata = {
        .operating_mode = TEGRA_USB_OTG,
index 5e92a81f9a2e24b6e02f7237a37d78229dda3543..e56170393a5bd265d16b99c32791bc03b5200484 100644 (file)
 #include <asm/mach/arch.h>
 #include <asm/hardware/gic.h>
 
-#include <mach/iomap.h>
-
 #include "board.h"
 #include "clock.h"
 #include "common.h"
+#include "iomap.h"
 
 struct of_dev_auxdata tegra30_auxdata_lookup[] __initdata = {
        OF_DEV_AUXDATA("nvidia,tegra20-sdhci", 0x78000000, "sdhci-tegra.0", NULL),
index 0b0a5f556d34062ba67b955629c859b5b20c9b59..f688daa74978e04bdaf1e5676f7865d4e357f36b 100644 (file)
 #include <asm/hardware/cache-l2x0.h>
 #include <asm/hardware/gic.h>
 
-#include <mach/iomap.h>
 #include <mach/powergate.h>
 
 #include "board.h"
 #include "clock.h"
 #include "common.h"
 #include "fuse.h"
+#include "iomap.h"
 #include "pmc.h"
 #include "apbio.h"
 #include "sleep.h"
index f07488e0bd32242bd6357b5a3aa8c29ae1821291..ffaa286a71e17328c974cf077a89a5b8e9955ccd 100644 (file)
@@ -22,9 +22,8 @@
 #include <linux/kernel.h>
 #include <linux/io.h>
 
-#include <mach/iomap.h>
-
 #include "flowctrl.h"
+#include "iomap.h"
 
 u8 flowctrl_offset_halt_cpu[] = {
        FLOW_CTRL_HALT_CPU0_EVENTS,
index 0b7db174a5dea0138b9afd66dfdbe8f7dd9e2a2e..6c752e8f1f0619bd4491f5a43fae4748e053a0ee 100644 (file)
@@ -21,9 +21,8 @@
 #include <linux/io.h>
 #include <linux/export.h>
 
-#include <mach/iomap.h>
-
 #include "fuse.h"
+#include "iomap.h"
 #include "apbio.h"
 
 #define FUSE_UID_LOW           0x108
index 6addc78cb6b2a53568c026d81a1d68c44a753725..93f0370cc95b70ff8f1004a4dad1144e3851ce26 100644 (file)
@@ -3,9 +3,8 @@
 
 #include <asm/cache.h>
 
-#include <mach/iomap.h>
-
 #include "flowctrl.h"
+#include "iomap.h"
 #include "reset.h"
 #include "sleep.h"
 
index 8ce0661b8a3d34bf4ad9a4004de0606a4e7de547..58a7fa8493e82f589745cb925602bdea6f8ad817 100644 (file)
@@ -26,7 +26,7 @@
 
 #include <linux/serial_reg.h>
 
-#include <mach/iomap.h>
+#include "../../iomap.h"
 #include <mach/irammap.h>
 
                .macro  addruart, rp, rv, tmp
diff --git a/arch/arm/mach-tegra/include/mach/iomap.h b/arch/arm/mach-tegra/include/mach/iomap.h
deleted file mode 100644 (file)
index fee3a94..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * arch/arm/mach-tegra/include/mach/iomap.h
- *
- * Copyright (C) 2010 Google, Inc.
- *
- * Author:
- *     Colin Cross <ccross@google.com>
- *     Erik Gilling <konkers@google.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- */
-
-#ifndef __MACH_TEGRA_IOMAP_H
-#define __MACH_TEGRA_IOMAP_H
-
-#include <asm/sizes.h>
-
-#define TEGRA_IRAM_BASE                        0x40000000
-#define TEGRA_IRAM_SIZE                        SZ_256K
-
-#define TEGRA_HOST1X_BASE              0x50000000
-#define TEGRA_HOST1X_SIZE              0x24000
-
-#define TEGRA_ARM_PERIF_BASE           0x50040000
-#define TEGRA_ARM_PERIF_SIZE           SZ_8K
-
-#define TEGRA_ARM_PL310_BASE           0x50043000
-#define TEGRA_ARM_PL310_SIZE           SZ_4K
-
-#define TEGRA_ARM_INT_DIST_BASE                0x50041000
-#define TEGRA_ARM_INT_DIST_SIZE                SZ_4K
-
-#define TEGRA_MPE_BASE                 0x54040000
-#define TEGRA_MPE_SIZE                 SZ_256K
-
-#define TEGRA_VI_BASE                  0x54080000
-#define TEGRA_VI_SIZE                  SZ_256K
-
-#define TEGRA_ISP_BASE                 0x54100000
-#define TEGRA_ISP_SIZE                 SZ_256K
-
-#define TEGRA_DISPLAY_BASE             0x54200000
-#define TEGRA_DISPLAY_SIZE             SZ_256K
-
-#define TEGRA_DISPLAY2_BASE            0x54240000
-#define TEGRA_DISPLAY2_SIZE            SZ_256K
-
-#define TEGRA_HDMI_BASE                        0x54280000
-#define TEGRA_HDMI_SIZE                        SZ_256K
-
-#define TEGRA_GART_BASE                        0x58000000
-#define TEGRA_GART_SIZE                        SZ_32M
-
-#define TEGRA_RES_SEMA_BASE            0x60001000
-#define TEGRA_RES_SEMA_SIZE            SZ_4K
-
-#define TEGRA_PRIMARY_ICTLR_BASE       0x60004000
-#define TEGRA_PRIMARY_ICTLR_SIZE       SZ_64
-
-#define TEGRA_SECONDARY_ICTLR_BASE     0x60004100
-#define TEGRA_SECONDARY_ICTLR_SIZE     SZ_64
-
-#define TEGRA_TERTIARY_ICTLR_BASE      0x60004200
-#define TEGRA_TERTIARY_ICTLR_SIZE      SZ_64
-
-#define TEGRA_QUATERNARY_ICTLR_BASE    0x60004300
-#define TEGRA_QUATERNARY_ICTLR_SIZE    SZ_64
-
-#define TEGRA_QUINARY_ICTLR_BASE       0x60004400
-#define TEGRA_QUINARY_ICTLR_SIZE       SZ_64
-
-#define TEGRA_TMR1_BASE                        0x60005000
-#define TEGRA_TMR1_SIZE                        SZ_8
-
-#define TEGRA_TMR2_BASE                        0x60005008
-#define TEGRA_TMR2_SIZE                        SZ_8
-
-#define TEGRA_TMRUS_BASE               0x60005010
-#define TEGRA_TMRUS_SIZE               SZ_64
-
-#define TEGRA_TMR3_BASE                        0x60005050
-#define TEGRA_TMR3_SIZE                        SZ_8
-
-#define TEGRA_TMR4_BASE                        0x60005058
-#define TEGRA_TMR4_SIZE                        SZ_8
-
-#define TEGRA_CLK_RESET_BASE           0x60006000
-#define TEGRA_CLK_RESET_SIZE           SZ_4K
-
-#define TEGRA_FLOW_CTRL_BASE           0x60007000
-#define TEGRA_FLOW_CTRL_SIZE           20
-
-#define TEGRA_AHB_DMA_BASE             0x60008000
-#define TEGRA_AHB_DMA_SIZE             SZ_4K
-
-#define TEGRA_AHB_DMA_CH0_BASE         0x60009000
-#define TEGRA_AHB_DMA_CH0_SIZE         32
-
-#define TEGRA_APB_DMA_BASE             0x6000A000
-#define TEGRA_APB_DMA_SIZE             SZ_4K
-
-#define TEGRA_APB_DMA_CH0_BASE         0x6000B000
-#define TEGRA_APB_DMA_CH0_SIZE         32
-
-#define TEGRA_AHB_GIZMO_BASE           0x6000C004
-#define TEGRA_AHB_GIZMO_SIZE           0x10C
-
-#define TEGRA_SB_BASE                  0x6000C200
-#define TEGRA_SB_SIZE                  256
-
-#define TEGRA_STATMON_BASE             0x6000C400
-#define TEGRA_STATMON_SIZE             SZ_1K
-
-#define TEGRA_GPIO_BASE                        0x6000D000
-#define TEGRA_GPIO_SIZE                        SZ_4K
-
-#define TEGRA_EXCEPTION_VECTORS_BASE    0x6000F000
-#define TEGRA_EXCEPTION_VECTORS_SIZE    SZ_4K
-
-#define TEGRA_APB_MISC_BASE            0x70000000
-#define TEGRA_APB_MISC_SIZE            SZ_4K
-
-#define TEGRA_APB_MISC_DAS_BASE                0x70000c00
-#define TEGRA_APB_MISC_DAS_SIZE                SZ_128
-
-#define TEGRA_AC97_BASE                        0x70002000
-#define TEGRA_AC97_SIZE                        SZ_512
-
-#define TEGRA_SPDIF_BASE               0x70002400
-#define TEGRA_SPDIF_SIZE               SZ_512
-
-#define TEGRA_I2S1_BASE                        0x70002800
-#define TEGRA_I2S1_SIZE                        SZ_256
-
-#define TEGRA_I2S2_BASE                        0x70002A00
-#define TEGRA_I2S2_SIZE                        SZ_256
-
-#define TEGRA_UARTA_BASE               0x70006000
-#define TEGRA_UARTA_SIZE               SZ_64
-
-#define TEGRA_UARTB_BASE               0x70006040
-#define TEGRA_UARTB_SIZE               SZ_64
-
-#define TEGRA_UARTC_BASE               0x70006200
-#define TEGRA_UARTC_SIZE               SZ_256
-
-#define TEGRA_UARTD_BASE               0x70006300
-#define TEGRA_UARTD_SIZE               SZ_256
-
-#define TEGRA_UARTE_BASE               0x70006400
-#define TEGRA_UARTE_SIZE               SZ_256
-
-#define TEGRA_NAND_BASE                        0x70008000
-#define TEGRA_NAND_SIZE                        SZ_256
-
-#define TEGRA_HSMMC_BASE               0x70008500
-#define TEGRA_HSMMC_SIZE               SZ_256
-
-#define TEGRA_SNOR_BASE                        0x70009000
-#define TEGRA_SNOR_SIZE                        SZ_4K
-
-#define TEGRA_PWFM_BASE                        0x7000A000
-#define TEGRA_PWFM_SIZE                        SZ_256
-
-#define TEGRA_PWFM0_BASE               0x7000A000
-#define TEGRA_PWFM0_SIZE               4
-
-#define TEGRA_PWFM1_BASE               0x7000A010
-#define TEGRA_PWFM1_SIZE               4
-
-#define TEGRA_PWFM2_BASE               0x7000A020
-#define TEGRA_PWFM2_SIZE               4
-
-#define TEGRA_PWFM3_BASE               0x7000A030
-#define TEGRA_PWFM3_SIZE               4
-
-#define TEGRA_MIPI_BASE                        0x7000B000
-#define TEGRA_MIPI_SIZE                        SZ_256
-
-#define TEGRA_I2C_BASE                 0x7000C000
-#define TEGRA_I2C_SIZE                 SZ_256
-
-#define TEGRA_TWC_BASE                 0x7000C100
-#define TEGRA_TWC_SIZE                 SZ_256
-
-#define TEGRA_SPI_BASE                 0x7000C380
-#define TEGRA_SPI_SIZE                 48
-
-#define TEGRA_I2C2_BASE                        0x7000C400
-#define TEGRA_I2C2_SIZE                        SZ_256
-
-#define TEGRA_I2C3_BASE                        0x7000C500
-#define TEGRA_I2C3_SIZE                        SZ_256
-
-#define TEGRA_OWR_BASE                 0x7000C600
-#define TEGRA_OWR_SIZE                 80
-
-#define TEGRA_DVC_BASE                 0x7000D000
-#define TEGRA_DVC_SIZE                 SZ_512
-
-#define TEGRA_SPI1_BASE                        0x7000D400
-#define TEGRA_SPI1_SIZE                        SZ_512
-
-#define TEGRA_SPI2_BASE                        0x7000D600
-#define TEGRA_SPI2_SIZE                        SZ_512
-
-#define TEGRA_SPI3_BASE                        0x7000D800
-#define TEGRA_SPI3_SIZE                        SZ_512
-
-#define TEGRA_SPI4_BASE                        0x7000DA00
-#define TEGRA_SPI4_SIZE                        SZ_512
-
-#define TEGRA_RTC_BASE                 0x7000E000
-#define TEGRA_RTC_SIZE                 SZ_256
-
-#define TEGRA_KBC_BASE                 0x7000E200
-#define TEGRA_KBC_SIZE                 SZ_256
-
-#define TEGRA_PMC_BASE                 0x7000E400
-#define TEGRA_PMC_SIZE                 SZ_256
-
-#define TEGRA_MC_BASE                  0x7000F000
-#define TEGRA_MC_SIZE                  SZ_1K
-
-#define TEGRA_EMC_BASE                 0x7000F400
-#define TEGRA_EMC_SIZE                 SZ_1K
-
-#define TEGRA_FUSE_BASE                        0x7000F800
-#define TEGRA_FUSE_SIZE                        SZ_1K
-
-#define TEGRA_KFUSE_BASE               0x7000FC00
-#define TEGRA_KFUSE_SIZE               SZ_1K
-
-#define TEGRA_CSITE_BASE               0x70040000
-#define TEGRA_CSITE_SIZE               SZ_256K
-
-#define TEGRA_USB_BASE                 0xC5000000
-#define TEGRA_USB_SIZE                 SZ_16K
-
-#define TEGRA_USB2_BASE                        0xC5004000
-#define TEGRA_USB2_SIZE                        SZ_16K
-
-#define TEGRA_USB3_BASE                        0xC5008000
-#define TEGRA_USB3_SIZE                        SZ_16K
-
-#define TEGRA_SDMMC1_BASE              0xC8000000
-#define TEGRA_SDMMC1_SIZE              SZ_512
-
-#define TEGRA_SDMMC2_BASE              0xC8000200
-#define TEGRA_SDMMC2_SIZE              SZ_512
-
-#define TEGRA_SDMMC3_BASE              0xC8000400
-#define TEGRA_SDMMC3_SIZE              SZ_512
-
-#define TEGRA_SDMMC4_BASE              0xC8000600
-#define TEGRA_SDMMC4_SIZE              SZ_512
-
-#if defined(CONFIG_TEGRA_DEBUG_UART_NONE)
-# define TEGRA_DEBUG_UART_BASE 0
-#elif defined(CONFIG_TEGRA_DEBUG_UARTA)
-# define TEGRA_DEBUG_UART_BASE TEGRA_UARTA_BASE
-#elif defined(CONFIG_TEGRA_DEBUG_UARTB)
-# define TEGRA_DEBUG_UART_BASE TEGRA_UARTB_BASE
-#elif defined(CONFIG_TEGRA_DEBUG_UARTC)
-# define TEGRA_DEBUG_UART_BASE TEGRA_UARTC_BASE
-#elif defined(CONFIG_TEGRA_DEBUG_UARTD)
-# define TEGRA_DEBUG_UART_BASE TEGRA_UARTD_BASE
-#elif defined(CONFIG_TEGRA_DEBUG_UARTE)
-# define TEGRA_DEBUG_UART_BASE TEGRA_UARTE_BASE
-#endif
-
-/* On TEGRA, many peripherals are very closely packed in
- * two 256MB io windows (that actually only use about 64KB
- * at the start of each).
- *
- * We will just map the first 1MB of each window (to minimize
- * pt entries needed) and provide a macro to transform physical
- * io addresses to an appropriate void __iomem *.
- *
- */
-
-#define IO_IRAM_PHYS   0x40000000
-#define IO_IRAM_VIRT   IOMEM(0xFE400000)
-#define IO_IRAM_SIZE   SZ_256K
-
-#define IO_CPU_PHYS     0x50040000
-#define IO_CPU_VIRT     IOMEM(0xFE000000)
-#define IO_CPU_SIZE    SZ_16K
-
-#define IO_PPSB_PHYS   0x60000000
-#define IO_PPSB_VIRT   IOMEM(0xFE200000)
-#define IO_PPSB_SIZE   SZ_1M
-
-#define IO_APB_PHYS    0x70000000
-#define IO_APB_VIRT    IOMEM(0xFE300000)
-#define IO_APB_SIZE    SZ_1M
-
-#define TEGRA_PCIE_BASE                0x80000000
-#define TEGRA_PCIE_IO_BASE     (TEGRA_PCIE_BASE + SZ_4M)
-
-#define IO_TO_VIRT_BETWEEN(p, st, sz)  ((p) >= (st) && (p) < ((st) + (sz)))
-#define IO_TO_VIRT_XLATE(p, pst, vst)  (((p) - (pst) + (vst)))
-
-#define IO_TO_VIRT(n) ( \
-       IO_TO_VIRT_BETWEEN((n), IO_PPSB_PHYS, IO_PPSB_SIZE) ?           \
-               IO_TO_VIRT_XLATE((n), IO_PPSB_PHYS, IO_PPSB_VIRT) :     \
-       IO_TO_VIRT_BETWEEN((n), IO_APB_PHYS, IO_APB_SIZE) ?             \
-               IO_TO_VIRT_XLATE((n), IO_APB_PHYS, IO_APB_VIRT) :       \
-       IO_TO_VIRT_BETWEEN((n), IO_CPU_PHYS, IO_CPU_SIZE) ?             \
-               IO_TO_VIRT_XLATE((n), IO_CPU_PHYS, IO_CPU_VIRT) :       \
-       IO_TO_VIRT_BETWEEN((n), IO_IRAM_PHYS, IO_IRAM_SIZE) ?           \
-               IO_TO_VIRT_XLATE((n), IO_IRAM_PHYS, IO_IRAM_VIRT) :     \
-       NULL)
-
-#define IO_ADDRESS(n) (IO_TO_VIRT(n))
-
-#endif
index 937c4c50219e1a818c89b32f965598318fbd55cc..095216c4b5647d6b2c8cc2567c4dd60d7b13b88f 100644 (file)
 #include <linux/types.h>
 #include <linux/serial_reg.h>
 
-#include <mach/iomap.h>
 #include <mach/irammap.h>
 
+#include "../../iomap.h"
+
 #define BIT(x) (1 << (x))
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 
index 58b4baf9c483d8a737fd73d418b14375c7a308e1..7d09f301b3a179d8a41f9573730d07cdb4d3bcf7 100644 (file)
@@ -26,9 +26,9 @@
 
 #include <asm/page.h>
 #include <asm/mach/map.h>
-#include <mach/iomap.h>
 
 #include "board.h"
+#include "iomap.h"
 
 static struct map_desc tegra_io_desc[] __initdata = {
        {
diff --git a/arch/arm/mach-tegra/iomap.h b/arch/arm/mach-tegra/iomap.h
new file mode 100644 (file)
index 0000000..5315103
--- /dev/null
@@ -0,0 +1,323 @@
+/*
+ * Copyright (C) 2010 Google, Inc.
+ *
+ * Author:
+ *     Colin Cross <ccross@google.com>
+ *     Erik Gilling <konkers@google.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#ifndef __MACH_TEGRA_IOMAP_H
+#define __MACH_TEGRA_IOMAP_H
+
+#include <asm/sizes.h>
+
+#define TEGRA_IRAM_BASE                        0x40000000
+#define TEGRA_IRAM_SIZE                        SZ_256K
+
+#define TEGRA_HOST1X_BASE              0x50000000
+#define TEGRA_HOST1X_SIZE              0x24000
+
+#define TEGRA_ARM_PERIF_BASE           0x50040000
+#define TEGRA_ARM_PERIF_SIZE           SZ_8K
+
+#define TEGRA_ARM_PL310_BASE           0x50043000
+#define TEGRA_ARM_PL310_SIZE           SZ_4K
+
+#define TEGRA_ARM_INT_DIST_BASE                0x50041000
+#define TEGRA_ARM_INT_DIST_SIZE                SZ_4K
+
+#define TEGRA_MPE_BASE                 0x54040000
+#define TEGRA_MPE_SIZE                 SZ_256K
+
+#define TEGRA_VI_BASE                  0x54080000
+#define TEGRA_VI_SIZE                  SZ_256K
+
+#define TEGRA_ISP_BASE                 0x54100000
+#define TEGRA_ISP_SIZE                 SZ_256K
+
+#define TEGRA_DISPLAY_BASE             0x54200000
+#define TEGRA_DISPLAY_SIZE             SZ_256K
+
+#define TEGRA_DISPLAY2_BASE            0x54240000
+#define TEGRA_DISPLAY2_SIZE            SZ_256K
+
+#define TEGRA_HDMI_BASE                        0x54280000
+#define TEGRA_HDMI_SIZE                        SZ_256K
+
+#define TEGRA_GART_BASE                        0x58000000
+#define TEGRA_GART_SIZE                        SZ_32M
+
+#define TEGRA_RES_SEMA_BASE            0x60001000
+#define TEGRA_RES_SEMA_SIZE            SZ_4K
+
+#define TEGRA_PRIMARY_ICTLR_BASE       0x60004000
+#define TEGRA_PRIMARY_ICTLR_SIZE       SZ_64
+
+#define TEGRA_SECONDARY_ICTLR_BASE     0x60004100
+#define TEGRA_SECONDARY_ICTLR_SIZE     SZ_64
+
+#define TEGRA_TERTIARY_ICTLR_BASE      0x60004200
+#define TEGRA_TERTIARY_ICTLR_SIZE      SZ_64
+
+#define TEGRA_QUATERNARY_ICTLR_BASE    0x60004300
+#define TEGRA_QUATERNARY_ICTLR_SIZE    SZ_64
+
+#define TEGRA_QUINARY_ICTLR_BASE       0x60004400
+#define TEGRA_QUINARY_ICTLR_SIZE       SZ_64
+
+#define TEGRA_TMR1_BASE                        0x60005000
+#define TEGRA_TMR1_SIZE                        SZ_8
+
+#define TEGRA_TMR2_BASE                        0x60005008
+#define TEGRA_TMR2_SIZE                        SZ_8
+
+#define TEGRA_TMRUS_BASE               0x60005010
+#define TEGRA_TMRUS_SIZE               SZ_64
+
+#define TEGRA_TMR3_BASE                        0x60005050
+#define TEGRA_TMR3_SIZE                        SZ_8
+
+#define TEGRA_TMR4_BASE                        0x60005058
+#define TEGRA_TMR4_SIZE                        SZ_8
+
+#define TEGRA_CLK_RESET_BASE           0x60006000
+#define TEGRA_CLK_RESET_SIZE           SZ_4K
+
+#define TEGRA_FLOW_CTRL_BASE           0x60007000
+#define TEGRA_FLOW_CTRL_SIZE           20
+
+#define TEGRA_AHB_DMA_BASE             0x60008000
+#define TEGRA_AHB_DMA_SIZE             SZ_4K
+
+#define TEGRA_AHB_DMA_CH0_BASE         0x60009000
+#define TEGRA_AHB_DMA_CH0_SIZE         32
+
+#define TEGRA_APB_DMA_BASE             0x6000A000
+#define TEGRA_APB_DMA_SIZE             SZ_4K
+
+#define TEGRA_APB_DMA_CH0_BASE         0x6000B000
+#define TEGRA_APB_DMA_CH0_SIZE         32
+
+#define TEGRA_AHB_GIZMO_BASE           0x6000C004
+#define TEGRA_AHB_GIZMO_SIZE           0x10C
+
+#define TEGRA_SB_BASE                  0x6000C200
+#define TEGRA_SB_SIZE                  256
+
+#define TEGRA_STATMON_BASE             0x6000C400
+#define TEGRA_STATMON_SIZE             SZ_1K
+
+#define TEGRA_GPIO_BASE                        0x6000D000
+#define TEGRA_GPIO_SIZE                        SZ_4K
+
+#define TEGRA_EXCEPTION_VECTORS_BASE    0x6000F000
+#define TEGRA_EXCEPTION_VECTORS_SIZE    SZ_4K
+
+#define TEGRA_APB_MISC_BASE            0x70000000
+#define TEGRA_APB_MISC_SIZE            SZ_4K
+
+#define TEGRA_APB_MISC_DAS_BASE                0x70000c00
+#define TEGRA_APB_MISC_DAS_SIZE                SZ_128
+
+#define TEGRA_AC97_BASE                        0x70002000
+#define TEGRA_AC97_SIZE                        SZ_512
+
+#define TEGRA_SPDIF_BASE               0x70002400
+#define TEGRA_SPDIF_SIZE               SZ_512
+
+#define TEGRA_I2S1_BASE                        0x70002800
+#define TEGRA_I2S1_SIZE                        SZ_256
+
+#define TEGRA_I2S2_BASE                        0x70002A00
+#define TEGRA_I2S2_SIZE                        SZ_256
+
+#define TEGRA_UARTA_BASE               0x70006000
+#define TEGRA_UARTA_SIZE               SZ_64
+
+#define TEGRA_UARTB_BASE               0x70006040
+#define TEGRA_UARTB_SIZE               SZ_64
+
+#define TEGRA_UARTC_BASE               0x70006200
+#define TEGRA_UARTC_SIZE               SZ_256
+
+#define TEGRA_UARTD_BASE               0x70006300
+#define TEGRA_UARTD_SIZE               SZ_256
+
+#define TEGRA_UARTE_BASE               0x70006400
+#define TEGRA_UARTE_SIZE               SZ_256
+
+#define TEGRA_NAND_BASE                        0x70008000
+#define TEGRA_NAND_SIZE                        SZ_256
+
+#define TEGRA_HSMMC_BASE               0x70008500
+#define TEGRA_HSMMC_SIZE               SZ_256
+
+#define TEGRA_SNOR_BASE                        0x70009000
+#define TEGRA_SNOR_SIZE                        SZ_4K
+
+#define TEGRA_PWFM_BASE                        0x7000A000
+#define TEGRA_PWFM_SIZE                        SZ_256
+
+#define TEGRA_PWFM0_BASE               0x7000A000
+#define TEGRA_PWFM0_SIZE               4
+
+#define TEGRA_PWFM1_BASE               0x7000A010
+#define TEGRA_PWFM1_SIZE               4
+
+#define TEGRA_PWFM2_BASE               0x7000A020
+#define TEGRA_PWFM2_SIZE               4
+
+#define TEGRA_PWFM3_BASE               0x7000A030
+#define TEGRA_PWFM3_SIZE               4
+
+#define TEGRA_MIPI_BASE                        0x7000B000
+#define TEGRA_MIPI_SIZE                        SZ_256
+
+#define TEGRA_I2C_BASE                 0x7000C000
+#define TEGRA_I2C_SIZE                 SZ_256
+
+#define TEGRA_TWC_BASE                 0x7000C100
+#define TEGRA_TWC_SIZE                 SZ_256
+
+#define TEGRA_SPI_BASE                 0x7000C380
+#define TEGRA_SPI_SIZE                 48
+
+#define TEGRA_I2C2_BASE                        0x7000C400
+#define TEGRA_I2C2_SIZE                        SZ_256
+
+#define TEGRA_I2C3_BASE                        0x7000C500
+#define TEGRA_I2C3_SIZE                        SZ_256
+
+#define TEGRA_OWR_BASE                 0x7000C600
+#define TEGRA_OWR_SIZE                 80
+
+#define TEGRA_DVC_BASE                 0x7000D000
+#define TEGRA_DVC_SIZE                 SZ_512
+
+#define TEGRA_SPI1_BASE                        0x7000D400
+#define TEGRA_SPI1_SIZE                        SZ_512
+
+#define TEGRA_SPI2_BASE                        0x7000D600
+#define TEGRA_SPI2_SIZE                        SZ_512
+
+#define TEGRA_SPI3_BASE                        0x7000D800
+#define TEGRA_SPI3_SIZE                        SZ_512
+
+#define TEGRA_SPI4_BASE                        0x7000DA00
+#define TEGRA_SPI4_SIZE                        SZ_512
+
+#define TEGRA_RTC_BASE                 0x7000E000
+#define TEGRA_RTC_SIZE                 SZ_256
+
+#define TEGRA_KBC_BASE                 0x7000E200
+#define TEGRA_KBC_SIZE                 SZ_256
+
+#define TEGRA_PMC_BASE                 0x7000E400
+#define TEGRA_PMC_SIZE                 SZ_256
+
+#define TEGRA_MC_BASE                  0x7000F000
+#define TEGRA_MC_SIZE                  SZ_1K
+
+#define TEGRA_EMC_BASE                 0x7000F400
+#define TEGRA_EMC_SIZE                 SZ_1K
+
+#define TEGRA_FUSE_BASE                        0x7000F800
+#define TEGRA_FUSE_SIZE                        SZ_1K
+
+#define TEGRA_KFUSE_BASE               0x7000FC00
+#define TEGRA_KFUSE_SIZE               SZ_1K
+
+#define TEGRA_CSITE_BASE               0x70040000
+#define TEGRA_CSITE_SIZE               SZ_256K
+
+#define TEGRA_USB_BASE                 0xC5000000
+#define TEGRA_USB_SIZE                 SZ_16K
+
+#define TEGRA_USB2_BASE                        0xC5004000
+#define TEGRA_USB2_SIZE                        SZ_16K
+
+#define TEGRA_USB3_BASE                        0xC5008000
+#define TEGRA_USB3_SIZE                        SZ_16K
+
+#define TEGRA_SDMMC1_BASE              0xC8000000
+#define TEGRA_SDMMC1_SIZE              SZ_512
+
+#define TEGRA_SDMMC2_BASE              0xC8000200
+#define TEGRA_SDMMC2_SIZE              SZ_512
+
+#define TEGRA_SDMMC3_BASE              0xC8000400
+#define TEGRA_SDMMC3_SIZE              SZ_512
+
+#define TEGRA_SDMMC4_BASE              0xC8000600
+#define TEGRA_SDMMC4_SIZE              SZ_512
+
+#if defined(CONFIG_TEGRA_DEBUG_UART_NONE)
+# define TEGRA_DEBUG_UART_BASE 0
+#elif defined(CONFIG_TEGRA_DEBUG_UARTA)
+# define TEGRA_DEBUG_UART_BASE TEGRA_UARTA_BASE
+#elif defined(CONFIG_TEGRA_DEBUG_UARTB)
+# define TEGRA_DEBUG_UART_BASE TEGRA_UARTB_BASE
+#elif defined(CONFIG_TEGRA_DEBUG_UARTC)
+# define TEGRA_DEBUG_UART_BASE TEGRA_UARTC_BASE
+#elif defined(CONFIG_TEGRA_DEBUG_UARTD)
+# define TEGRA_DEBUG_UART_BASE TEGRA_UARTD_BASE
+#elif defined(CONFIG_TEGRA_DEBUG_UARTE)
+# define TEGRA_DEBUG_UART_BASE TEGRA_UARTE_BASE
+#endif
+
+/* On TEGRA, many peripherals are very closely packed in
+ * two 256MB io windows (that actually only use about 64KB
+ * at the start of each).
+ *
+ * We will just map the first 1MB of each window (to minimize
+ * pt entries needed) and provide a macro to transform physical
+ * io addresses to an appropriate void __iomem *.
+ *
+ */
+
+#define IO_IRAM_PHYS   0x40000000
+#define IO_IRAM_VIRT   IOMEM(0xFE400000)
+#define IO_IRAM_SIZE   SZ_256K
+
+#define IO_CPU_PHYS     0x50040000
+#define IO_CPU_VIRT     IOMEM(0xFE000000)
+#define IO_CPU_SIZE    SZ_16K
+
+#define IO_PPSB_PHYS   0x60000000
+#define IO_PPSB_VIRT   IOMEM(0xFE200000)
+#define IO_PPSB_SIZE   SZ_1M
+
+#define IO_APB_PHYS    0x70000000
+#define IO_APB_VIRT    IOMEM(0xFE300000)
+#define IO_APB_SIZE    SZ_1M
+
+#define TEGRA_PCIE_BASE                0x80000000
+#define TEGRA_PCIE_IO_BASE     (TEGRA_PCIE_BASE + SZ_4M)
+
+#define IO_TO_VIRT_BETWEEN(p, st, sz)  ((p) >= (st) && (p) < ((st) + (sz)))
+#define IO_TO_VIRT_XLATE(p, pst, vst)  (((p) - (pst) + (vst)))
+
+#define IO_TO_VIRT(n) ( \
+       IO_TO_VIRT_BETWEEN((n), IO_PPSB_PHYS, IO_PPSB_SIZE) ?           \
+               IO_TO_VIRT_XLATE((n), IO_PPSB_PHYS, IO_PPSB_VIRT) :     \
+       IO_TO_VIRT_BETWEEN((n), IO_APB_PHYS, IO_APB_SIZE) ?             \
+               IO_TO_VIRT_XLATE((n), IO_APB_PHYS, IO_APB_VIRT) :       \
+       IO_TO_VIRT_BETWEEN((n), IO_CPU_PHYS, IO_CPU_SIZE) ?             \
+               IO_TO_VIRT_XLATE((n), IO_CPU_PHYS, IO_CPU_VIRT) :       \
+       IO_TO_VIRT_BETWEEN((n), IO_IRAM_PHYS, IO_IRAM_SIZE) ?           \
+               IO_TO_VIRT_XLATE((n), IO_IRAM_PHYS, IO_IRAM_VIRT) :     \
+       NULL)
+
+#define IO_ADDRESS(n) (IO_TO_VIRT(n))
+
+#endif
index 2f5bd2db8e1faa78a69cedd1bfdc144bec47b615..b7886f183511dbdebb352f8f31e58de402fcc759 100644 (file)
@@ -25,9 +25,8 @@
 
 #include <asm/hardware/gic.h>
 
-#include <mach/iomap.h>
-
 #include "board.h"
+#include "iomap.h"
 
 #define ICTLR_CPU_IEP_VFIQ     0x08
 #define ICTLR_CPU_IEP_FIR      0x14
index a8dba6489c9b5ee37cc95db9475622f47dcc0e31..f18fc3ab4e58a337a285a8b57ffd0b341645d156 100644 (file)
 #include <asm/sizes.h>
 #include <asm/mach/pci.h>
 
-#include <mach/iomap.h>
 #include <mach/clk.h>
 #include <mach/powergate.h>
 
 #include "board.h"
+#include "iomap.h"
 
 /* register definitions */
 #define AFI_OFFSET     0x3800
index e50870c720381812fed27a48df02afcf05067097..1b926df99c4b2a5c8929f28b180a36aaba9ee5a0 100644 (file)
@@ -24,7 +24,6 @@
 #include <asm/mach-types.h>
 #include <asm/smp_scu.h>
 
-#include <mach/iomap.h>
 #include <mach/powergate.h>
 
 #include "fuse.h"
@@ -33,6 +32,7 @@
 #include "tegra_cpu_car.h"
 
 #include "common.h"
+#include "iomap.h"
 
 extern void tegra_secondary_startup(void);
 
index 7af6a54404be53818c8f02af3e37c4b1b648e7bb..d4fdb5fcec20955c95a4f0199efb1ae180f72409 100644 (file)
@@ -19,7 +19,7 @@
 #include <linux/io.h>
 #include <linux/of.h>
 
-#include <mach/iomap.h>
+#include "iomap.h"
 
 #define PMC_CTRL               0x0
 #define PMC_CTRL_INTR_LOW      (1 << 17)
index de0662de28a0dec38ff3c3ec5edd0db3d03f4195..2cc1185d902e38fd3678872c71ffc8320e89d383 100644 (file)
 #include <linux/spinlock.h>
 
 #include <mach/clk.h>
-#include <mach/iomap.h>
 #include <mach/powergate.h>
 
 #include "fuse.h"
+#include "iomap.h"
 
 #define PWRGATE_TOGGLE         0x30
 #define  PWRGATE_TOGGLE_START  (1 << 8)
index 5beb7ebe2948ff1e706159bf958e9118b3906f7e..28e51b7803ef6b582d1d153e4112f515e04563dd 100644 (file)
@@ -22,9 +22,9 @@
 #include <asm/cacheflush.h>
 #include <asm/hardware/cache-l2x0.h>
 
-#include <mach/iomap.h>
 #include <mach/irammap.h>
 
+#include "iomap.h"
 #include "reset.h"
 #include "fuse.h"
 
index ea81554c483381a9b08884769c4036139b8476c1..08e9481c049e9be69db064b784ceb03d60f287d3 100644 (file)
@@ -26,7 +26,7 @@
 
 #include <asm/assembler.h>
 
-#include <mach/iomap.h>
+#include "iomap.h"
 
 #include "flowctrl.h"
 #include "sleep.h"
index e25a7cd703d9cdc852abd9dbd19d80b33d530267..4889b281c5f9a4543e0e4c3480b46757e7028393 100644 (file)
@@ -17,7 +17,7 @@
 #ifndef __MACH_TEGRA_SLEEP_H
 #define __MACH_TEGRA_SLEEP_H
 
-#include <mach/iomap.h>
+#include "iomap.h"
 
 #define TEGRA_ARM_PERIF_VIRT (TEGRA_ARM_PERIF_BASE - IO_CPU_PHYS \
                                        + IO_CPU_VIRT)
index deb873fb12b652ef8c6b5524cde94cbb6e0fa366..4eb6bc81a87b4dd3c89dadacd8c78ed5670d5e81 100644 (file)
 #include <linux/clkdev.h>
 #include <linux/clk.h>
 
-#include <mach/iomap.h>
-
 #include "clock.h"
 #include "fuse.h"
+#include "iomap.h"
 #include "tegra2_emc.h"
 #include "tegra_cpu_car.h"
 
index e9de5dfd94ec339e5f5c0c7c15eaad1f5a7944c4..000239d683937abbdfcaa56d7fc6b0478a152603 100644 (file)
 
 #include <asm/clkdev.h>
 
-#include <mach/iomap.h>
-
 #include "clock.h"
 #include "fuse.h"
+#include "iomap.h"
 #include "tegra_cpu_car.h"
 
 #define USE_PLL_LOCK_BITS 0
index d3b8c8e7368fd938285438cafb6d77f2d5ee7ebf..6ff503536512e09e168db98f9c2daee18bd72e3d 100644 (file)
 #include <asm/smp_twd.h>
 #include <asm/sched_clock.h>
 
-#include <mach/iomap.h>
 #include <mach/irqs.h>
 
 #include "board.h"
 #include "clock.h"
+#include "iomap.h"
 
 #define RTC_SECONDS            0x08
 #define RTC_SHADOW_SECONDS     0x0c