Browse Source

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 15 years ago
parent
commit
bfa2416c87

+ 1 - 1
mk/rootfs.mk

@@ -13,7 +13,7 @@ ROOTFS:=	root=/dev/sda2
 endif
 
 ifeq ($(ADK_LINUX_ARM_FOXBOARD),y)
-ROOTFS:=	root=/dev/mmcblk0p2
+ROOTFS:=	root=/dev/mmcblk0p2 rootwait
 endif
 
 $(eval $(call rootfs_template,ext2-block,EXT2_BLOCK,$(ROOTFS)))

+ 11 - 10
package/adkinstall/src/adkinstall.foxg20

@@ -3,12 +3,13 @@
 # special script for foxboard netus aka foxg20
 
 if [ -z $1 ];then
-        printf "Please give your root tar archive as first parameter\n"
+        printf "Please give your root tar archive as parameter\n"
         exit 1
 fi
-if [ -z $2 ];then
-       	 printf "Please give your kernel as second parameter\n"
-       	 exit 1
+
+if [ ! -f $1 ];then
+	printf "given root tar archive does not exist\n"
+	exit 1
 fi
 
 printf "Creating partition scheme\n"
@@ -23,13 +24,12 @@ parted -s /dev/mmcblk0 set 1 boot on
 sfdisk --change-id /dev/mmcblk0 3 88 >/dev/null 2>&1
 sleep 2
 sync
-printf "Installing kernel\n"
-mount -t vfat /dev/mmcblk0p1 /mnt
-cp $2 /mnt/uImage
-sync
-umount /mnt
-mke2fs /dev/mmcblk0p2
+printf "Creating ext2 filesystem\n"
+mke2fs /dev/mmcblk0p2 >/dev/null 2>&1
+tune2fs -c0 -i0 /dev/mmcblk0p2 >/dev/null 2>&1
 mount -t ext2 /dev/mmcblk0p2 /mnt
+mkdir /mnt/boot
+mount -t vfat /dev/mmcblk0p1 /mnt/boot
 
 printf "Extracting install archive\n"
 tar -C /mnt -xzpf $1
@@ -41,6 +41,7 @@ fi
 chmod 1777 /mnt/tmp
 chmod 4755 /mnt/bin/busybox
 sync
+umount /mnt/boot
 umount /mnt
 if [ $? -ne 0 ];then
 	printf "Unmounting filesystem failed"

+ 4 - 0
package/base-files/src/sbin/adkupdate

@@ -27,6 +27,8 @@ prepare() {
 	mount -o remount,rw /
 	if [ "$system" == "RB532" ];then
 		mount -t yaffs2 /dev/mtdblock0 /boot
+	elif [ "$system" == "FOXG20" ];then
+		mount -t vfat /dev/mmcblk0p1 /boot
 	fi
 }
 
@@ -78,6 +80,8 @@ sync
 mount -o bind /etc /tmp/.cfgfs/root
 if [ "$system" == "RB532" ];then
 	umount -f /boot
+elif [ "$system" == "FOXG20" ];then
+	umount -f /boot
 fi
 
 echo "Update sucessful. You should reboot now."

+ 14 - 0
package/busybox/patches/003-fdisk-mmc.patch

@@ -0,0 +1,14 @@
+diff -Nur busybox-1.15.2.orig/util-linux/fdisk.c busybox-1.15.2/util-linux/fdisk.c
+--- busybox-1.15.2.orig/util-linux/fdisk.c	2009-10-08 03:04:40.000000000 +0200
++++ busybox-1.15.2/util-linux/fdisk.c	2010-02-23 20:41:01.000000000 +0100
+@@ -2770,7 +2770,9 @@
+ 		for (s = ptname; *s; s++)
+ 			continue;
+ 		if (isdigit(s[-1]))
+-			continue;
++			if (s[-1] != '0')
++				continue;
++		
+ 		sprintf(devname, "/dev/%s", ptname);
+ 		open_list_and_close(devname, 0);
+ 	}

+ 1 - 1
package/cfgfs/Makefile

@@ -9,7 +9,7 @@ PKG_RELEASE:=		1
 PKG_DESCR:=		compressed config filesystem
 PKG_SECTION:=		base
 
-PKG_TARGET_DEPENDS:=	alix wrap foxboard ag241 rb532
+PKG_TARGET_DEPENDS:=	alix wrap foxboard ag241 rb532 foxg20
 
 WRKDIST=		${WRKDIR}/${PKG_NAME}-${PKG_VERSION}
 NO_DISTFILES:=		1

+ 2 - 0
target/Config.in

@@ -230,6 +230,8 @@ config ADK_LINUX_ARM_FOXBOARD
 	select ADK_foxg20
 	select ADK_EABI
 	select ADK_KERNEL_NLS
+	select ADK_KERNEL_EXT2_FS
+	select ADK_KPACKAGE_KMOD_VFAT_FS
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_PCI

+ 15 - 6
target/foxg20/Makefile

@@ -7,14 +7,20 @@ include $(TOPDIR)/mk/modules.mk
 include $(TOPDIR)/mk/kernel-build.mk
 include $(TOPDIR)/mk/image.mk
 
+LOADADDR:=	0x20008000
+
 kernel-install: 
-	gzip -v9 < $(LINUX_DIR)/arch/arm/boot/Image > ${BUILD_DIR}/Image.gz
+	gzip -9 < $(LINUX_DIR)/arch/arm/boot/Image > ${BUILD_DIR}/Image.gz
 	mkimage -A arm -O linux -T kernel -C gzip \
-		-a 0x20008000 -e 0x20008000 -d ${BUILD_DIR}/Image.gz \
-		-n foxg20 $(BIN_DIR)/${ADK_TARGET}-${FS}-kernel
+		-a ${LOADADDR} -e ${LOADADDR} -d ${BUILD_DIR}/Image.gz \
+		-n foxg20 $(TARGET_DIR)/boot/uImage $(MAKE_TRACE)
+	@cp $(TARGET_DIR)/boot/uImage \
+		$(BUILD_DIR)/${ADK_TARGET}-${FS}-kernel
 
 ifeq ($(FS),nfsroot)
 imageinstall: ${BIN_DIR}/${ROOTFSUSERTARBALL}
+	@cp $(BUILD_DIR)/${ADK_TARGET}-${FS}-kernel \
+		$(BIN_DIR)/${ADK_TARGET}-${FS}-kernel
 	@echo 
 	@echo 'Type dhcp via u-boot prompt to load kernel'
 	@echo 'After that type bootm to load the kernel'
@@ -22,10 +28,13 @@ imageinstall: ${BIN_DIR}/${ROOTFSUSERTARBALL}
 endif
 
 ifeq ($(FS),ext2-block)
-imageinstall: $(BIN_DIR)/$(ROOTFSUSERTARBALL)
+imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
+	@echo
+	@echo "The RootFS tarball is:"
+	@echo "$(BIN_DIR)/$(ROOTFSUSERTARBALL)"
+	@echo 'Before booting from MicroSD card you need to set following u-boot environment variables:'
+	@echo "setenv bootcmd 'mmc init; sleep 1; fatload mmc 0 0x22000000 uimage; bootm 0x22000000'"
 	@echo
-	@echo 'The kernel file is: ${BIN_DIR}/${ADK_TARGET}-${FS}-kernel'
-	@echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSUSERTARBALL)"
 	@echo "Boot the board via network and use adkinstall."
 	@echo "If you just want to update, use adkupdate."
 	@echo 'Login as user root with password linux123 via ssh or console.'

+ 13 - 81
target/foxg20/kernel.config

@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.32.2
-# Wed Feb 17 00:21:32 2010
+# Mon Feb 22 20:07:27 2010
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -61,11 +61,7 @@ CONFIG_LOG_BUF_SHIFT=14
 # CONFIG_SYSFS_DEPRECATED_V2 is not set
 # CONFIG_RELAY is not set
 # CONFIG_NAMESPACES is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-# CONFIG_RD_BZIP2 is not set
-# CONFIG_RD_LZMA is not set
+# CONFIG_BLK_DEV_INITRD is not set
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_SYSCTL=y
 CONFIG_ANON_INODES=y
@@ -76,8 +72,8 @@ CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
 CONFIG_HOTPLUG=y
 CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
+# CONFIG_BUG is not set
+# CONFIG_ELF_CORE is not set
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
@@ -326,7 +322,6 @@ CONFIG_CPU_IDLE_GOV_MENU=y
 # Userspace binary formats
 #
 CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
 CONFIG_HAVE_AOUT=y
 # CONFIG_BINFMT_AOUT is not set
 # CONFIG_BINFMT_MISC is not set
@@ -417,7 +412,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
+# CONFIG_STANDALONE is not set
 # CONFIG_PREVENT_FIRMWARE_BUILD is not set
 # CONFIG_FW_LOADER is not set
 # CONFIG_SYS_HYPERVISOR is not set
@@ -518,14 +513,10 @@ CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
 # CONFIG_PARPORT is not set
 CONFIG_BLK_DEV=y
 # CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_LOOP is not set
 # CONFIG_BLK_DEV_NBD is not set
 # CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=8192
-# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_BLK_DEV_RAM is not set
 # CONFIG_CDROM_PKTCDVD is not set
 # CONFIG_ATA_OVER_ETH is not set
 # CONFIG_MG_DISK is not set
@@ -551,9 +542,9 @@ CONFIG_HAVE_IDE=y
 # CONFIG_RAID_ATTRS is not set
 CONFIG_SCSI=y
 CONFIG_SCSI_DMA=y
-CONFIG_SCSI_TGT=y
+# CONFIG_SCSI_TGT is not set
 # CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
+# CONFIG_SCSI_PROC_FS is not set
 
 #
 # SCSI support type (disk, tape, CD-ROM)
@@ -564,7 +555,7 @@ CONFIG_BLK_DEV_SD=y
 # CONFIG_BLK_DEV_SR is not set
 # CONFIG_CHR_DEV_SG is not set
 # CONFIG_CHR_DEV_SCH is not set
-CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_MULTI_LUN is not set
 # CONFIG_SCSI_CONSTANTS is not set
 # CONFIG_SCSI_LOGGING is not set
 # CONFIG_SCSI_SCAN_ASYNC is not set
@@ -663,36 +654,7 @@ CONFIG_WLAN=y
 #
 # Input device support
 #
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
+# CONFIG_INPUT is not set
 
 #
 # Hardware I/O ports
@@ -726,8 +688,7 @@ CONFIG_UNIX98_PTYS=y
 # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
 # CONFIG_LEGACY_PTYS is not set
 # CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM is not set
 # CONFIG_NVRAM is not set
 # CONFIG_R3964 is not set
 # CONFIG_RAW_DRIVER is not set
@@ -833,20 +794,6 @@ CONFIG_SSB_POSSIBLE=y
 #
 # CONFIG_DISPLAY_SUPPORT is not set
 # CONFIG_SOUND is not set
-CONFIG_HID_SUPPORT=y
-# CONFIG_HID is not set
-
-#
-# USB Input Devices
-#
-# CONFIG_USB_HID is not set
-# CONFIG_HID_PID is not set
-
-#
-# USB HID Boot Protocol drivers
-#
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
 CONFIG_USB_SUPPORT=y
 CONFIG_USB_ARCH_HAS_HCD=y
 CONFIG_USB_ARCH_HAS_OHCI=y
@@ -900,19 +847,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 #
 # also be needed; see USB_STORAGE Help for more info
 #
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE is not set
 # CONFIG_USB_LIBUSUAL is not set
 
 #
@@ -1192,7 +1127,6 @@ CONFIG_MAGIC_SYSRQ=y
 # CONFIG_DEBUG_FS is not set
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
 # CONFIG_DEBUG_MEMORY_INIT is not set
 CONFIG_FRAME_POINTER=y
 # CONFIG_RCU_CPU_STALL_DETECTOR is not set
@@ -1323,8 +1257,6 @@ CONFIG_GENERIC_FIND_LAST_BIT=y
 # CONFIG_CRC32 is not set
 # CONFIG_CRC7 is not set
 # CONFIG_LIBCRC32C is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_DECOMPRESS_GZIP=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT=y
 CONFIG_HAS_DMA=y

+ 40 - 7
target/foxg20/patches/foxg20.patch

@@ -1,6 +1,18 @@
+diff -Nur linux-2.6.32.2.orig/arch/arm/include/asm/setup.h linux-2.6.32.2/arch/arm/include/asm/setup.h
+--- linux-2.6.32.2.orig/arch/arm/include/asm/setup.h	2009-12-18 23:27:07.000000000 +0100
++++ linux-2.6.32.2/arch/arm/include/asm/setup.h	2010-02-23 21:40:33.000000000 +0100
+@@ -18,6 +18,8 @@
+ 
+ #define COMMAND_LINE_SIZE 1024
+ 
++const char *get_system_type(void);
++
+ /* The list ends with an ATAG_NONE node. */
+ #define ATAG_NONE	0x00000000
+ 
 diff -Nur linux-2.6.32.2.orig/arch/arm/Kconfig linux-2.6.32.2/arch/arm/Kconfig
 --- linux-2.6.32.2.orig/arch/arm/Kconfig	2009-12-18 23:27:07.000000000 +0100
-+++ linux-2.6.32.2/arch/arm/Kconfig	2010-02-17 19:41:01.000000000 +0100
++++ linux-2.6.32.2/arch/arm/Kconfig	2010-02-23 21:18:53.000000000 +0100
 @@ -18,6 +18,9 @@
  	select HAVE_KRETPROBES if (HAVE_KPROBES)
  	select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
@@ -11,9 +23,25 @@ diff -Nur linux-2.6.32.2.orig/arch/arm/Kconfig linux-2.6.32.2/arch/arm/Kconfig
  	help
  	  The ARM series is a line of low-power-consumption RISC chip designs
  	  licensed by ARM Ltd and targeted at embedded applications and
+diff -Nur linux-2.6.32.2.orig/arch/arm/kernel/setup.c linux-2.6.32.2/arch/arm/kernel/setup.c
+--- linux-2.6.32.2.orig/arch/arm/kernel/setup.c	2009-12-18 23:27:07.000000000 +0100
++++ linux-2.6.32.2/arch/arm/kernel/setup.c	2010-02-23 21:29:01.000000000 +0100
+@@ -806,8 +806,12 @@
+ 
+ static int c_show(struct seq_file *m, void *v)
+ {
++	unsigned long n = (unsigned long) v - 1;
+ 	int i;
+ 
++	if (n == 0)
++		seq_printf(m, "system type\t\t: %s\n", get_system_type());
++
+ 	seq_printf(m, "Processor\t: %s rev %d (%s)\n",
+ 		   cpu_name, read_cpuid_id() & 15, elf_platform);
+ 
 diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6.32.2/arch/arm/mach-at91/at91sam9260_devices.c
 --- linux-2.6.32.2.orig/arch/arm/mach-at91/at91sam9260_devices.c	2009-12-18 23:27:07.000000000 +0100
-+++ linux-2.6.32.2/arch/arm/mach-at91/at91sam9260_devices.c	2010-02-17 19:41:01.000000000 +0100
++++ linux-2.6.32.2/arch/arm/mach-at91/at91sam9260_devices.c	2010-02-23 21:18:53.000000000 +0100
 @@ -454,7 +454,15 @@
  	.sda_is_open_drain	= 1,
  	.scl_pin		= AT91_PIN_PA24,
@@ -32,8 +60,8 @@ diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6
  static struct platform_device at91sam9260_twi_device = {
 diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/board-foxg20.c linux-2.6.32.2/arch/arm/mach-at91/board-foxg20.c
 --- linux-2.6.32.2.orig/arch/arm/mach-at91/board-foxg20.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.32.2/arch/arm/mach-at91/board-foxg20.c	2010-02-17 19:41:01.000000000 +0100
-@@ -0,0 +1,371 @@
++++ linux-2.6.32.2/arch/arm/mach-at91/board-foxg20.c	2010-02-23 21:33:34.000000000 +0100
+@@ -0,0 +1,376 @@
 +/*
 + *  Copyright (C) 2005 SAN People
 + *  Copyright (C) 2008 Atmel
@@ -100,6 +128,11 @@ diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/board-foxg20.c linux-2.6.32.2/a
 +/* #define FOX_USART4 */
 +/* #define FOX_USART5 */
 +
++const char *get_system_type(void)
++{
++        return "FoxBoard FOXG20";
++}
++
 +static void __init foxg20_map_io(void)
 +{
 +	/* Initialize processor: 18.432 MHz crystal */
@@ -407,7 +440,7 @@ diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/board-foxg20.c linux-2.6.32.2/a
 +MACHINE_END
 diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/Kconfig linux-2.6.32.2/arch/arm/mach-at91/Kconfig
 --- linux-2.6.32.2.orig/arch/arm/mach-at91/Kconfig	2009-12-18 23:27:07.000000000 +0100
-+++ linux-2.6.32.2/arch/arm/mach-at91/Kconfig	2010-02-17 19:41:01.000000000 +0100
++++ linux-2.6.32.2/arch/arm/mach-at91/Kconfig	2010-02-23 21:18:53.000000000 +0100
 @@ -333,6 +333,13 @@
  	  Select this if you are using a Eukrea Electromatique's
  	  CPU9G20 Board <http://www.eukrea.com/>
@@ -440,7 +473,7 @@ diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/Kconfig linux-2.6.32.2/arch/arm
  	  (8 and 16 bit data bus width).
 diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/Makefile linux-2.6.32.2/arch/arm/mach-at91/Makefile
 --- linux-2.6.32.2.orig/arch/arm/mach-at91/Makefile	2009-12-18 23:27:07.000000000 +0100
-+++ linux-2.6.32.2/arch/arm/mach-at91/Makefile	2010-02-17 19:41:01.000000000 +0100
++++ linux-2.6.32.2/arch/arm/mach-at91/Makefile	2010-02-23 21:18:53.000000000 +0100
 @@ -65,6 +65,9 @@
  # AT91SAM9G45 board-specific support
  obj-$(CONFIG_MACH_AT91SAM9G45EKES) += board-sam9m10g45ek.o
@@ -453,7 +486,7 @@ diff -Nur linux-2.6.32.2.orig/arch/arm/mach-at91/Makefile linux-2.6.32.2/arch/ar
  
 diff -Nur linux-2.6.32.2.orig/drivers/mmc/host/at91_mci.c linux-2.6.32.2/drivers/mmc/host/at91_mci.c
 --- linux-2.6.32.2.orig/drivers/mmc/host/at91_mci.c	2009-12-18 23:27:07.000000000 +0100
-+++ linux-2.6.32.2/drivers/mmc/host/at91_mci.c	2010-02-17 19:41:01.000000000 +0100
++++ linux-2.6.32.2/drivers/mmc/host/at91_mci.c	2010-02-23 21:18:53.000000000 +0100
 @@ -461,7 +461,7 @@
  	at91_mci_write(host, AT91_MCI_DTOR, AT91_MCI_DTOMUL_1M | AT91_MCI_DTOCYC);
  	mr = AT91_MCI_PDCMODE | 0x34a;