summaryrefslogtreecommitdiff
path: root/target/linux/coldfire/patches/067-mcfv4e_acr_cleanup.patch
blob: 3a0736c8af1c85576a5a2d6c53f47f186f757c1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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