dslinux/linux-2.6.x/arch/arm/mach-nds head.S

amadeus dslinux_amadeus at user.in-berlin.de
Sun Aug 27 18:31:29 CEST 2006


Update of /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/mach-nds
In directory antilope:/tmp/cvs-serv9224/linux-2.6.x/arch/arm/mach-nds

Modified Files:
	head.S 
Log Message:
Rewrite of SD driver to allow 32 MByte GBA ROM space used as RAM

Index: head.S
===================================================================
RCS file: /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/mach-nds/head.S,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- head.S	20 Aug 2006 12:49:19 -0000	1.17
+++ head.S	27 Aug 2006 16:31:26 -0000	1.18
@@ -247,8 +247,8 @@
 	@ Region 7 - GBA SLOT ROM for Program+Data, overriding Region 6
 	@-------------------------------------------------------------------------
 	ldr	r0,=( PAGE_32M | 0x08000000 | 1)
-#if defined(CONFIG_MMC_SCSD) || defined (CONFIG_IDE_NDS_SUPERCARD)
-	@ Supercard uses upper 16M for card I/O
+#ifdef CONFIG_IDE_NDS_SUPERCARD
+	@ Supercard CF uses upper 16M for card I/O
 	ldr	r0,=( PAGE_16M | 0x08000000 | 1)
 #endif
 	mcr	p15, 0, r0, c6, c7, 0
@@ -266,8 +266,9 @@
 	@-------------------------------------------------------------------------
 	@ Data cache enable
 	@-------------------------------------------------------------------------
-	@ Disable data cache for GBA ROM, until we have full 8bit write support.
+	@ Disable data cache for GBA ROM, unless we have full 8bit write support.
 	@	      gGViWDMI
+	@ NOTE: this code must be synchronous with include/asm-arm/arch-nds/gbarom-macros.S
 #ifdef CONFIG_NDS_ROM8BIT
 	ldr	r0,=0b10000010
 #else
@@ -366,10 +367,19 @@
          * use this RAM. */
 unlock_ram:
 #ifdef CONFIG_NDS_ROM8BIT
-#if defined(CONFIG_MMC_SCSD) || defined (CONFIG_IDE_NDS_SUPERCARD)
+#ifdef CONFIG_MMC_SCSD
 	ldr	r0, =0x09FFFFFE
 	ldr	r1, =0xa55a
-	ldr	r2, =0x0007
+	ldr	r2, =0x0005	@ complete GBA ROM space as RAM
+	strh	r1, [r0]
+	strh	r1, [r0]
+	strh	r2, [r0]
+	strh	r2, [r0]
+#endif
+#ifdef CONFIG_IDE_NDS_SUPERCARD
+	ldr	r0, =0x09FFFFFE
+	ldr	r1, =0xa55a
+	ldr	r2, =0x0007	@ 16 MByte RAM + 16 MByte IO
 	strh	r1, [r0]
 	strh	r1, [r0]
 	strh	r2, [r0]




More information about the dslinux-commit mailing list