dslinux/linux-2.6.x/arch/arm/mach-nds head.S
amadeus
dslinux_amadeus at user.in-berlin.de
Sun Aug 20 14:49:21 CEST 2006
Update of /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/mach-nds
In directory antilope:/tmp/cvs-serv2124/linux-2.6.x/arch/arm/mach-nds
Modified Files:
head.S
Log Message:
Add untested support for supercard CF. Enable RAM on RAM-based cards.
Index: head.S
===================================================================
RCS file: /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/mach-nds/head.S,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- head.S 3 Jul 2006 20:23:29 -0000 1.16
+++ head.S 20 Aug 2006 12:49:19 -0000 1.17
@@ -247,8 +247,8 @@
@ Region 7 - GBA SLOT ROM for Program+Data, overriding Region 6
@-------------------------------------------------------------------------
ldr r0,=( PAGE_32M | 0x08000000 | 1)
-#ifdef CONFIG_MMC_SCSD
- @ Supercard SD uses upper 16M for SD card I/O
+#if defined(CONFIG_MMC_SCSD) || defined (CONFIG_IDE_NDS_SUPERCARD)
+ @ Supercard uses upper 16M for card I/O
ldr r0,=( PAGE_16M | 0x08000000 | 1)
#endif
mcr p15, 0, r0, c6, c7, 0
@@ -348,6 +348,9 @@
strcc r4, [r5],#4
bcc 1b
+ /* Enable RAM on RAM-based cards */
+ bl unlock_ram
+
/* Pretend we know what our processor code is (for arm_id) */
ldr r2, =0x41009460
@@ -358,6 +361,24 @@
mov fp, #0
b start_kernel
+ /* Enable RAM on RAM-based cards.
+ * This has to happen early, because the kernel tries to
+ * use this RAM. */
+unlock_ram:
+#ifdef CONFIG_NDS_ROM8BIT
+#if defined(CONFIG_MMC_SCSD) || defined (CONFIG_IDE_NDS_SUPERCARD)
+ ldr r0, =0x09FFFFFE
+ ldr r1, =0xa55a
+ ldr r2, =0x0007
+ strh r1, [r0]
+ strh r1, [r0]
+ strh r2, [r0]
+ strh r2, [r0]
+#endif
+#endif
+ mov pc, lr
+
+
.type __LC0_init_data, %object
__LC0_init_data:
.long __bss_start @ r5
More information about the dslinux-commit
mailing list