diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2009-06-23 21:04:37 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2009-06-23 21:04:37 +0000 |
commit | c49f135f72f98633653300bab5b0ac993b03c6be (patch) | |
tree | 50929b27bcea9ab4dc74b041d6e90967473301fa /target/linux/coldfire/patches/014-m5445x_ioremap_xf0000000.patch | |
parent | 50f2abfa16a2b509955312d1776beeece662c61b (diff) | |
download | mtk-20170518-c49f135f72f98633653300bab5b0ac993b03c6be.zip mtk-20170518-c49f135f72f98633653300bab5b0ac993b03c6be.tar.gz mtk-20170518-c49f135f72f98633653300bab5b0ac993b03c6be.tar.bz2 |
use broken-out patches for the coldfire to make it easier to follow differences against the bsp
SVN-Revision: 16547
Diffstat (limited to 'target/linux/coldfire/patches/014-m5445x_ioremap_xf0000000.patch')
-rw-r--r-- | target/linux/coldfire/patches/014-m5445x_ioremap_xf0000000.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/target/linux/coldfire/patches/014-m5445x_ioremap_xf0000000.patch b/target/linux/coldfire/patches/014-m5445x_ioremap_xf0000000.patch new file mode 100644 index 0000000..11bbbe2 --- /dev/null +++ b/target/linux/coldfire/patches/014-m5445x_ioremap_xf0000000.patch @@ -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 + + /* |