summaryrefslogtreecommitdiff
path: root/target/linux/coldfire/patches/067-mcfv4e_acr_cleanup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/coldfire/patches/067-mcfv4e_acr_cleanup.patch')
-rw-r--r--target/linux/coldfire/patches/067-mcfv4e_acr_cleanup.patch112
1 files changed, 112 insertions, 0 deletions
diff --git a/target/linux/coldfire/patches/067-mcfv4e_acr_cleanup.patch b/target/linux/coldfire/patches/067-mcfv4e_acr_cleanup.patch
new file mode 100644
index 0000000..3a0736c
--- /dev/null
+++ b/target/linux/coldfire/patches/067-mcfv4e_acr_cleanup.patch
@@ -0,0 +1,112 @@
+From ddc092180bd24b34afdd6fd7cd48b77b55a5bd5e Mon Sep 17 00:00:00 2001
+From: Kurt Mahan <kmahan@freescale.com>
+Date: Tue, 24 Jun 2008 23:21:07 -0600
+Subject: [PATCH] Cleanup ACR mappings and document.
+
+LTIBName: mcfv4e-acr-cleanup
+Signed-off-by: Kurt Mahan <kmahan@freescale.com>
+---
+ arch/m68k/coldfire/head.S | 81 +++++++++++++++++++++++++-------------------
+ 1 files changed, 46 insertions(+), 35 deletions(-)
+
+--- a/arch/m68k/coldfire/head.S
++++ b/arch/m68k/coldfire/head.S
+@@ -53,52 +53,63 @@
+ #define __FINIT .previous
+ #endif
+
+-/* JKM -- REVISE DOCS FOR M547x_8x and PHYS MAPPING */
++#if CONFIG_SDRAM_BASE != PAGE_OFFSET
+ /*
+- * Setup ACR mappings to provide the following memory map:
+- * Data
+- * 0xA0000000 -> 0xAFFFFFFF [0] NO CACHE / PRECISE / SUPER ONLY
+- * 0xF0000000 -> 0xFFFFFFFF [1] NO CACHE / PRECISE / SUPER ONLY
+- * Code
+- * None currently (mapped via TLBs)
++ * Kernel mapped to virtual ram address.
++ *
++ * M5445x:
++ * Data[0]: 0xF0000000 -> 0xFFFFFFFF System regs
++ * Data[1]: 0xA0000000 -> 0xAFFFFFFF PCI
++ * Code[0]: Not Mapped
++ * Code[1]: Not Mapped
++ *
++ * M547x/M548x
++ * Data[0]: 0xF0000000 -> 0xFFFFFFFF System regs
++ * Data[1]: Not Mapped
++ * Code[0]: Not Mapped
++ * Code[1]: Not Mapped
+ */
+-
+-#if CONFIG_SDRAM_BASE != PAGE_OFFSET
+ #if defined(CONFIG_M5445X)
+-#if 0
+-#define ACR0_DEFAULT #0xA00FA048 /* ACR0 default value */
+-#endif
+-#define ACR0_DEFAULT #0x400FA028 /* ACR0 default value */
+-#define ACR1_DEFAULT #0xF00FA040 /* ACR1 default value */
+-#if 0
+-#define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
+-#endif
+-#define ACR2_DEFAULT #0x400FA028 /* ACR2 default value */
+-#define ACR3_DEFAULT #0x00000000 /* ACR3 default value */
+-/* ACR mapping for FPGA (maps 0) */
+-#define ACR0_FPGA #0x000FA048 /* ACR0 enable FPGA */
++#define ACR0_DEFAULT #0xF00FA048 /* System regs */
++#define ACR1_DEFAULT #0xA00FA048 /* PCI */
++#define ACR2_DEFAULT #0x00000000 /* Not Mapped */
++#define ACR3_DEFAULT #0x00000000 /* Not Mapped */
+ #elif defined(CONFIG_M547X_8X)
+-#define ACR0_DEFAULT #0xE000C040 /* ACR0 default value */
+-#define ACR1_DEFAULT #0x00000000 /* ACR1 default value */
+-#define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
+-#define ACR3_DEFAULT #0x00000000 /* ACR3 default value */
++#define ACR0_DEFAULT #0xF00FA048 /* System Regs */
++#define ACR1_DEFAULT #0x00000000 /* Not Mapped */
++#define ACR2_DEFAULT #0x00000000 /* Not Mapped */
++#define ACR3_DEFAULT #0x00000000 /* Not Mapped */
+ #endif
+
+-#else
++#else /* CONFIG_SDRAM_BASE = PAGE_OFFSET */
++/*
++ * Kernel mapped to physical ram address.
++ *
++ * M5445x:
++ * Data[0]: 0xF0000000 -> 0xFFFFFFFF System regs
++ * Data[1]: 0x40000000 -> 0x4FFFFFFF SDRAM - uncached
++ * Code[0]: Not Mapped
++ * Code[1]: 0x40000000 -> 0x4FFFFFFF SDRAM - cached
++ *
++ * M547x/M548x
++ * Data[0]: 0xF0000000 -> 0xFFFFFFFF System regs
++ * Data[1]: 0x00000000 -> 0x0FFFFFFF SDRAM - uncached
++ * Code[0]: Not Mapped
++ * Code[1]: 0x00000000 -> 0x0FFFFFFF SDRAM - cached
++ */
+ #if defined(CONFIG_M5445X)
+-#define ACR0_DEFAULT #0xF00FC040 /* ACR0 default value */
+-#define ACR1_DEFAULT #0x400FA008 /* ACR1 default value */
+-#define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
+-#define ACR3_DEFAULT #0x400FA008 /* ACR3 default value */
++#define ACR0_DEFAULT #0xF00FA048 /* System Regs */
++#define ACR1_DEFAULT #0x400FA048 /* SDRAM uncached */
++#define ACR2_DEFAULT #0x00000000 /* Not mapped */
++#define ACR3_DEFAULT #0x400FA008 /* SDRAM cached */
+ #elif defined(CONFIG_M547X_8X)
+-#define ACR0_DEFAULT #0xF00FC040 /* ACR0 default value */
+-#define ACR1_DEFAULT #0x000FA008 /* ACR1 default value */
+-#define ACR2_DEFAULT #0x00000000 /* ACR2 default value */
+-#define ACR3_DEFAULT #0x000FA008 /* ACR3 default value */
++#define ACR0_DEFAULT #0xF00FA048 /* System Regs */
++#define ACR1_DEFAULT #0x000FA048 /* SDRAM uncached */
++#define ACR2_DEFAULT #0x00000000 /* Not mapped */
++#define ACR3_DEFAULT #0x000FA008 /* SDRAM cached */
+ #endif
+ #endif
+
+-
+ /* Several macros to make the writing of subroutines easier:
+ * - func_start marks the beginning of the routine which setups the frame
+ * register and saves the registers, it also defines another macro