aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2007-11-21 10:49:52 -0500
committerBryan Wu <bryan.wu@analog.com>2007-11-21 10:49:52 -0500
commite40540b304d5d15c344585c4a7b3116e73add2db (patch)
treee991ef8446686a84640f77f76c2f88d89e68b8ff
parent28a44d4bd6bdc7d013405bfc2aa7f126d39a7b2b (diff)
Blackfin arch: fix bug NOR Flash MTD mount fail
Config EBIU flash mode properly. EBIU_MODE EBIU_FCTL EBIU_MBSCTL register should be configurd to Flash mode. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
-rw-r--r--arch/blackfin/Kconfig14
-rw-r--r--arch/blackfin/mach-bf548/head.S21
2 files changed, 35 insertions, 0 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 2e5ce848513e..3bb25da8b505 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -866,6 +866,20 @@ config BANK_3
866 default 0x99B3 866 default 0x99B3
867endmenu 867endmenu
868 868
869config EBIU_MBSCTLVAL
870 hex "EBIU Bank Select Control Register"
871 depends on BF54x
872 default 0
873
874config EBIU_MODEVAL
875 hex "Flash Memory Mode Control Register"
876 depends on BF54x
877 default 1
878
879config EBIU_FCTLVAL
880 hex "Flash Memory Bank Control Register"
881 depends on BF54x
882 default 6
869endmenu 883endmenu
870 884
871############################################################################# 885#############################################################################
diff --git a/arch/blackfin/mach-bf548/head.S b/arch/blackfin/mach-bf548/head.S
index 3071c243d426..74b34c7f3629 100644
--- a/arch/blackfin/mach-bf548/head.S
+++ b/arch/blackfin/mach-bf548/head.S
@@ -158,6 +158,27 @@ ENTRY(__stext)
158 w[p2] = r0; 158 w[p2] = r0;
159 ssync; 159 ssync;
160 160
161 p2.h = hi(EBIU_MBSCTL);
162 p2.l = lo(EBIU_MBSCTL);
163 r0.h = hi(CONFIG_EBIU_MBSCTLVAL);
164 r0.l = lo(CONFIG_EBIU_MBSCTLVAL);
165 [p2] = r0;
166 ssync;
167
168 p2.h = hi(EBIU_MODE);
169 p2.l = lo(EBIU_MODE);
170 r0.h = hi(CONFIG_EBIU_MODEVAL);
171 r0.l = lo(CONFIG_EBIU_MODEVAL);
172 [p2] = r0;
173 ssync;
174
175 p2.h = hi(EBIU_FCTL);
176 p2.l = lo(EBIU_FCTL);
177 r0.h = hi(CONFIG_EBIU_FCTLVAL);
178 r0.l = lo(CONFIG_EBIU_FCTLVAL);
179 [p2] = r0;
180 ssync;
181
161 /* This section keeps the processor in supervisor mode 182 /* This section keeps the processor in supervisor mode
162 * during kernel boot. Switches to user mode at end of boot. 183 * during kernel boot. Switches to user mode at end of boot.
163 * See page 3-9 of Hardware Reference manual for documentation. 184 * See page 3-9 of Hardware Reference manual for documentation.