]> git.kernelconcepts.de Git - karo-tx-redboot.git/blobdiff - packages/hal/arm/mx37/var/v2_0/include/hal_mm.h
unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / hal / arm / mx37 / var / v2_0 / include / hal_mm.h
index 1970034103641c232b4231b87c5f6d618a2aa9b0..131a3ffb09b11c81c5c06bb309c47d07a7dadec4 100644 (file)
@@ -166,6 +166,34 @@ union ARM_MMU_FIRST_LEVEL_DESCRIPTOR {
         ARM_ACCESS_TYPE_NO_ACCESS(14) |         \
         ARM_ACCESS_TYPE_NO_ACCESS(15) )
 
+/*
+ * translate the virtual address of ram space to physical address
+ * It is dependent on the implementation of hal_mmu_init
+ */
+static unsigned long __inline__ hal_virt_to_phy(unsigned long virt)
+{
+        if (virt < 0x08000000) {
+                return virt | 0x40000000;
+        }
+        if ((virt & 0xF0000000) == 0x40000000) {
+                return virt & ~0x08000000;
+        }
+        return virt;
+}
+
+/*
+ * remap the physical address of ram space to uncacheable virtual address space
+ * It is dependent on the implementation of hal_mmu_init
+ */
+static unsigned long __inline__ hal_ioremap_nocache(unsigned long phy)
+{
+        /* 0x48000000~0x48FFFFFF is uncacheable meory space which is mapped to SDRAM*/
+        if ((phy & 0xF0000000) == 0x40000000) {
+                phy |= 0x08000000;
+        }
+        return phy;
+}
+
 // ------------------------------------------------------------------------
 #endif // ifndef CYGONCE_HAL_MM_H
 // End of hal_mm.h