mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
use broken-out patches for the coldfire to make it easier to follow differences against the bsp
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16547 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
From ed9d4b88136173a4e17701d9c1162ddfecf902e4 Mon Sep 17 00:00:00 2001
|
||||
From: Kurt Mahan <kmahan@freescale.com>
|
||||
Date: Mon, 19 Nov 2007 15:24:30 -0700
|
||||
Subject: [PATCH] Short circuit IOREMAP calls in the 0xF0000000 range.
|
||||
|
||||
LTIBName: m5445x-ioremap-xf0000000
|
||||
Signed-off-by: Kurt Mahan <kmahan@freescale.com>
|
||||
---
|
||||
arch/m68k/coldfire/head.S | 4 ++--
|
||||
arch/m68k/mm/kmap.c | 14 ++++++++++++--
|
||||
2 files changed, 14 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/arch/m68k/coldfire/head.S
|
||||
+++ b/arch/m68k/coldfire/head.S
|
||||
@@ -56,13 +56,13 @@
|
||||
* Setup ACR mappings to provide the following memory map:
|
||||
* Data
|
||||
* 0xA0000000 -> 0xAFFFFFFF [0] NO CACHE / PRECISE / SUPER ONLY
|
||||
- * 0xFC000000 -> 0xFCFFFFFF [1] NO CACHE / PRECISE / SUPER ONLY
|
||||
+ * 0xF0000000 -> 0xFFFFFFFF [1] NO CACHE / PRECISE / SUPER ONLY
|
||||
* Code
|
||||
* None currently (mapped via TLBs)
|
||||
*/
|
||||
|
||||
#define ACR0_DEFAULT #0xA00FA048 /* ACR0 default value */
|
||||
-#define ACR1_DEFAULT #0xFC00A040 /* ACR1 default value */
|
||||
+#define ACR1_DEFAULT #0xF00FA040 /* ACR1 default value */
|
||||
#define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
|
||||
#define ACR3_DEFAULT #0x00000000 /* ACR3 default value */
|
||||
|
||||
--- a/arch/m68k/mm/kmap.c
|
||||
+++ b/arch/m68k/mm/kmap.c
|
||||
@@ -133,8 +133,18 @@ void __iomem *__ioremap(unsigned long ph
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_M54455
|
||||
+ if (physaddr >= 0xf0000000) {
|
||||
+ /* short circuit mappings for xf0000000 */
|
||||
#ifdef DEBUG
|
||||
- printk("ioremap: 0x%lx,0x%lx(%d) - ", physaddr, size, cacheflag);
|
||||
+ printk(KERN_INFO "ioremap: short circuiting 0x%lx mapping\n", physaddr);
|
||||
+#endif
|
||||
+ return (void __iomem *)physaddr;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+#ifdef DEBUG
|
||||
+ printk("ioremap: paddr=0x%lx,size=0x%lx(%d) - ", physaddr, size, cacheflag);
|
||||
#endif
|
||||
/*
|
||||
* Mappings have to be aligned
|
||||
@@ -153,7 +163,7 @@ void __iomem *__ioremap(unsigned long ph
|
||||
virtaddr = (unsigned long)area->addr;
|
||||
retaddr = virtaddr + offset;
|
||||
#ifdef DEBUG
|
||||
- printk("0x%lx,0x%lx,0x%lx", physaddr, virtaddr, retaddr);
|
||||
+ printk(" paddr=0x%lx,vaddr=0x%lx,retaddr=0x%lx", physaddr, virtaddr, retaddr);
|
||||
#endif
|
||||
|
||||
/*
|
||||
Reference in New Issue
Block a user