]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/mmu.h
omap2 clock: move 24xx clock definitions from clock.h into clock24xx.h
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / mmu.h
index 56b7055b1206cdd579448a88ba1736593b4b67e9..c4922d10e6948d8a6ff6f4741c3bdf70b1025e78 100644 (file)
@@ -1,13 +1,36 @@
 #ifndef __MACH_OMAP2_MMU_H
 #define __MACH_OMAP2_MMU_H
 
-#include "prcm-regs.h"
 #include <asm/arch/mmu.h>
 #include <asm/io.h>
 
 #define MMU_LOCK_BASE_MASK             (0x1f << 10)
 #define MMU_LOCK_VICTIM_MASK           (0x1f << 4)
 
+#define OMAP_MMU_REVISION              0x00
+#define OMAP_MMU_SYSCONFIG             0x10
+#define OMAP_MMU_SYSSTATUS             0x14
+#define OMAP_MMU_IRQSTATUS             0x18
+#define OMAP_MMU_IRQENABLE             0x1c
+#define OMAP_MMU_WALKING_ST            0x40
+#define OMAP_MMU_CNTL                  0x44
+#define OMAP_MMU_FAULT_AD              0x48
+#define OMAP_MMU_TTB                   0x4c
+#define OMAP_MMU_LOCK                  0x50
+#define OMAP_MMU_LD_TLB                        0x54
+#define OMAP_MMU_CAM                   0x58
+#define OMAP_MMU_RAM                   0x5c
+#define OMAP_MMU_GFLUSH                        0x60
+#define OMAP_MMU_FLUSH_ENTRY           0x64
+#define OMAP_MMU_READ_CAM              0x68
+#define OMAP_MMU_READ_RAM              0x6c
+#define OMAP_MMU_EMU_FAULT_AD          0x70
+
+#define OMAP_MMU_CNTL_BURST_16MNGT_EN   0x0020
+#define OMAP_MMU_CNTL_WTL_EN            0x0004
+#define OMAP_MMU_CNTL_MMU_EN            0x0002
+#define OMAP_MMU_CNTL_RESET_SW          0x0001
+
 #define OMAP_MMU_IRQ_MULTIHITFAULT     0x00000010
 #define OMAP_MMU_IRQ_TABLEWALKFAULT    0x00000008
 #define OMAP_MMU_IRQ_EMUMISS           0x00000004
@@ -48,6 +71,7 @@ do {                                                          \
        (ent)->endian   = OMAP_MMU_RAM_ENDIANNESS_LITTLE;       \
        (ent)->elsz     = OMAP_MMU_RAM_ELEMENTSIZE_16;          \
        (ent)->mixed    = 0;                                    \
+       (ent)->tlb      = 1;                                    \
 } while (0)
 
 #define INIT_TLB_ENTRY_4KB_PRESERVED(ent,v,p) \
@@ -80,6 +104,7 @@ struct omap_mmu_tlb_entry {
        unsigned int pgsz, prsvd, valid;
 
        u32 endian, elsz, mixed;
+       unsigned int tlb;
 };
 
 static inline unsigned long
@@ -88,10 +113,12 @@ omap_mmu_read_reg(struct omap_mmu *mmu, unsigned long reg)
        return __raw_readl(mmu->base + reg);
 }
 
-static void omap_mmu_write_reg(struct omap_mmu *mmu,
+static inline void omap_mmu_write_reg(struct omap_mmu *mmu,
                               unsigned long val, unsigned long reg)
 {
        __raw_writel(val, mmu->base + reg);
 }
-
+static inline void omap_mmu_itack(struct omap_mmu *mmu)
+{
+}
 #endif /* __MACH_OMAP2_MMU_H */