diff -u -3 -p -r1.1.1.8 -r1.7
--- drivers/char/Makefile	16 May 2003 01:06:48 -0000	1.1.1.8
+++ drivers/char/Makefile	16 May 2003 17:05:55 -0000	1.7
@@ -201,6 +201,7 @@ endif
 
 obj-$(CONFIG_VT) += vt.o vc_screen.o consolemap.o consolemap_deftbl.o $(CONSOLE) selection.o
 obj-$(CONFIG_SERIAL) += $(SERIAL)
+obj-$(CONFIG_SERIAL_CDB4) += $(SERIAL)
 obj-$(CONFIG_SERIAL_HCDP) += hcdp_serial.o
 obj-$(CONFIG_SERIAL_21285) += serial_21285.o
 obj-$(CONFIG_SERIAL_SA1100) += serial_sa1100.o
diff -u -3 -p -r1.1.1.1 -r1.2
--- drivers/char/ds1302.c	28 Jan 2003 18:01:05 -0000	1.1.1.1
+++ drivers/char/ds1302.c	1 Apr 2003 14:17:45 -0000	1.2
@@ -71,10 +71,21 @@ static volatile unsigned short	*ds1302_d
 static volatile unsigned short	*ds1302_dp =
 	(volatile unsigned short *) (MCF_MBAR + MCFSIM_PADAT);
 
+#ifdef CONFIG_DEVELER_CDB4
+
+#define	RTC_RESET	0x0200		/* PA9 of M5272 */
+#define	RTC_IODATA	0x0100		/* PA8 of M5272 */
+#define	RTC_SCLK	0x0080		/* PA7 of M5272 */
+
+#else /* !CONFIG_DEVELER_CDB4 */
+
 #define	RTC_RESET	0x0020		/* PA5 of M5272 */
 #define	RTC_IODATA	0x0040		/* PA6 of M5272 */
 #define	RTC_SCLK	0x0080		/* PA7 of M5272 */
-#endif
+
+#endif /* !CONFIG_DEVELER_CDB4 */
+
+#endif /* !CONFIG_VIOLA_RTC */
 
 void ds1302_sendbits(unsigned int val)
 {
diff -u -3 -p -r1.1.1.8 -r1.5
--- drivers/char/mcfserial.c	25 May 2003 12:23:32 -0000	1.1.1.8
+++ drivers/char/mcfserial.c	29 May 2003 15:58:02 -0000	1.5
@@ -1729,6 +1729,7 @@ static void mcfrs_irqinit(struct mcf_ser
 #if defined(CONFIG_M5272)
 	volatile unsigned long	*icrp;
 	volatile unsigned long	*portp;
+	volatile unsigned short *sportp;
 	volatile unsigned char	*uartp;
 
 	uartp = (volatile unsigned char *) info->addr;
@@ -1749,9 +1750,11 @@ static void mcfrs_irqinit(struct mcf_ser
 
 	/* Enable the output lines for the serial ports */
 	portp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_PBCNT);
-	*portp = (*portp & ~0x000000ff) | 0x00000055;
+	*portp = (*portp & ~0x0000ffff) | 0x00000055;
 	portp = (volatile unsigned long *) (MCF_MBAR + MCFSIM_PDCNT);
 	*portp = (*portp & ~0x000003fc) | 0x000002a8;
+	sportp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDDR);
+	*sportp = (*sportp & ~0x00f0) | 0x0050;
 #elif defined(CONFIG_M5282)
 	volatile unsigned char *icrp, *uartp;
 	volatile unsigned long *imrp;
diff -u -3 -p -r1.1.1.2 -r1.2
--- drivers/mtd/chips/Config.in	18 Feb 2002 10:27:09 -0000	1.1.1.2
+++ drivers/mtd/chips/Config.in	21 May 2003 12:55:44 -0000	1.2
@@ -43,6 +43,7 @@ if [ "$CONFIG_MTD_GEN_PROBE" = "y" -o "$
 dep_tristate '  Support for Intel/Sharp flash chips' CONFIG_MTD_CFI_INTELEXT $CONFIG_MTD_GEN_PROBE
 dep_tristate '  Support for AMD/Fujitsu flash chips' CONFIG_MTD_CFI_AMDSTD $CONFIG_MTD_GEN_PROBE
 dep_tristate '  Support for ST (Advanced Architecture) flash chips' CONFIG_MTD_CFI_STAA $CONFIG_MTD_GEN_PROBE
+bool '    Use BLOCK ERASE command (SST chips have blocks larger than sectors)' CONFIG_MTD_CFI_BLOCKERASE $CONFIG_MTD_CFI_AMDSTD
 
 dep_tristate '  Support for RAM chips in bus mapping' CONFIG_MTD_RAM $CONFIG_MTD
 dep_tristate '  Support for ROM chips in bus mapping' CONFIG_MTD_ROM $CONFIG_MTD
diff -u -3 -p -r1.1.1.3 -r1.4
--- drivers/mtd/chips/cfi_cmdset_0002.c	28 Jan 2003 18:01:11 -0000	1.1.1.3
+++ drivers/mtd/chips/cfi_cmdset_0002.c	21 May 2003 12:55:44 -0000	1.4
@@ -586,7 +586,11 @@ static inline int do_erase_oneblock(stru
 	cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, CFI_DEVICETYPE_X8, NULL);
 	cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, CFI_DEVICETYPE_X8, NULL);
 	cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, CFI_DEVICETYPE_X8, NULL);
+#if defined(CONFIG_MTD_CFI_BLOCKERASE)
+	cfi_write(map, CMD(0x50), adr);
+#else
 	cfi_write(map, CMD(0x30), adr);
+#endif
 	
 	timeo = jiffies + (HZ*20);
 
diff -u -3 -p -r1.1.1.1 -r1.6
--- drivers/mtd/chips/jedec_probe.c	18 Feb 2002 10:27:09 -0000	1.1.1.1
+++ drivers/mtd/chips/jedec_probe.c	29 May 2003 15:58:44 -0000	1.6
@@ -423,8 +439,8 @@ static int jedec_probe_chip(struct map_i
 }
 
 static struct chip_probe jedec_chip_probe = {
-	name: "JEDEC",
-	probe_chip: jedec_probe_chip
+	.name = "JEDEC",
+	.probe_chip = jedec_probe_chip
 };
 
 struct mtd_info *jedec_probe(struct map_info *map)
@@ -437,9 +453,9 @@ struct mtd_info *jedec_probe(struct map_
 }
 
 static struct mtd_chip_driver jedec_chipdrv = {
-	probe: jedec_probe,
-	name: "jedec_probe",
-	module: THIS_MODULE
+	.probe	= jedec_probe,
+	.name	= "jedec_probe",
+	.module	= THIS_MODULE
 };
 
 int __init jedec_probe_init(void)
diff -u -3 -p -r1.1.1.7 -r1.10
--- drivers/mtd/maps/Config.in	16 May 2003 01:07:04 -0000	1.1.1.7
+++ drivers/mtd/maps/Config.in	21 May 2003 12:55:44 -0000	1.10
@@ -101,6 +101,12 @@ if [ "$CONFIG_ARM" = "y" ]; then
    dep_tristate '  CFI Flash device mapped on EDB7312' CONFIG_MTD_EDB7312 $CONFIG_MTD_CFI
    dep_tristate '  JEDEC Flash device mapped on impA7' CONFIG_MTD_IMPA7 $CONFIG_MTD_JEDECPROBE
    dep_tristate '  JEDEC Flash device mapped on Ceiva/Polaroid PhotoMax Digital Picture Frame' CONFIG_MTD_CEIVA $CONFIG_MTD_JEDECPROBE  $CONFIG_ARCH_CEIVA
+fi
+
+if [ "$CONFIG_M5272" = "y" ]; then
+	dep_tristate '  CFI Flash device mapped on Motorola M5272C3' CONFIG_MTD_M5272C3 $CONFIG_MTD_CFI
+	dep_tristate '  CFI Flash Develer mapping' CONFIG_MTD_DEVELER_CFI $CONFIG_MTD_CFI
+	dep_tristate '  JEDEC Flash Develer mapping' CONFIG_MTD_DEVELER_JEDEC $CONFIG_MTD_CFI
 fi
 
 if [ "$CONFIG_COBRA5272" = "y" ]; then
diff -u -3 -p -r1.1.1.7 -r1.8
--- drivers/mtd/maps/Makefile	16 May 2003 01:07:04 -0000	1.1.1.7
+++ drivers/mtd/maps/Makefile	16 May 2003 17:05:55 -0000	1.8
@@ -43,7 +43,9 @@ obj-$(CONFIG_MTD_SNAPGEODE)	+= snapgeode
 obj-$(CONFIG_MTD_NETteluC)	+= nettel-uc.o
 obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o
 obj-$(CONFIG_MTD_KeyTechnology)	+= keyTechnology.o
-obj-$(CONFIG_MTD_COBRA5272)     += cobra5272.o
+obj-$(CONFIG_MTD_DEVELER_CFI)	+= develer_cfi.o
+obj-$(CONFIG_MTD_DEVELER_JEDEC)	+= develer_jedec.o
+obj-$(CONFIG_MTD_COBRA5272)	+= cobra5272.o
 obj-$(CONFIG_MTD_M5272C3)	+= m5272c3.o
 obj-$(CONFIG_MTD_PCI)		+= pci.o
 obj-$(CONFIG_MTD_PB1000)        += pb1xxx-flash.o
diff -u -3 -p -r1.1.1.8 -r1.3
--- drivers/net/cs89x0.c	25 May 2003 12:23:47 -0000	1.1.1.8
+++ drivers/net/cs89x0.c	25 May 2003 14:35:48 -0000	1.3
@@ -1920,10 +1920,14 @@ static int set_mac_address(struct net_de
 
 	if (netif_running(dev))
 		return -EBUSY;
+
+	for (i = 0; i < 6; i++)
+		dev->dev_addr[i] = ((unsigned char *)addr)[i];
+
 	if (net_debug) {
 		printk("%s: Setting MAC address to ", dev->name);
 		for (i = 0; i < 6; i++)
-			printk(" %2.2x", dev->dev_addr[i] = ((unsigned char *)addr)[i]);
+			printk(" %2.2x", dev->dev_addr[i]);
 		printk(".\n");
 	}
 	/* set the Ethernet address */
diff -u -3 -p -r1.1.1.4 -r1.2
--- fs/Config.in	28 Feb 2003 22:44:48 -0000	1.1.1.4
+++ fs/Config.in	6 Mar 2003 15:24:52 -0000	1.2
@@ -45,6 +45,7 @@ fi
 dep_tristate 'Journalling Flash File System v2 (JFFS2) support' CONFIG_JFFS2_FS $CONFIG_MTD
 if [ "$CONFIG_JFFS2_FS" = "y" -o "$CONFIG_JFFS2_FS" = "m" ] ; then
    int 'JFFS2 debugging verbosity (0 = quiet, 2 = noisy)' CONFIG_JFFS2_FS_DEBUG 0
+   dep_tristate '  Tweak garbage collection parms for AMR AMD AM29PL160 flash' CONFIG_TWEAK_JFFS2_GC_PARMS $CONFIG_MTD_AMR_CFI
 fi
 tristate 'Compressed ROM file system support' CONFIG_CRAMFS
 bool 'Virtual memory file system support (former shm fs)' CONFIG_TMPFS
diff -u -3 -p -r1.1.1.5 -r1.7
--- fs/jffs2/nodelist.h	28 Feb 2003 22:44:51 -0000	1.1.1.5
+++ fs/jffs2/nodelist.h	6 Mar 2003 15:25:10 -0000	1.7
@@ -222,13 +222,26 @@ struct jffs2_eraseblock
 #define ALLOC_DELETION	1	/* Deletion node. Best to allow it */
 #define ALLOC_GC	2	/* Space requested for GC. Give it or die */
 
-#define JFFS2_RESERVED_BLOCKS_BASE 3						/* Number of free blocks there must be before we... */
-#define JFFS2_RESERVED_BLOCKS_WRITE (JFFS2_RESERVED_BLOCKS_BASE + 2)		/* ... allow a normal filesystem write */
-#define JFFS2_RESERVED_BLOCKS_DELETION (JFFS2_RESERVED_BLOCKS_BASE + 1)		/* ... allow a normal filesystem deletion */
+#ifdef CONFIG_TWEAK_JFFS2_GC_PARMS
+
+/* Settings for Develer AMD flash, with big 256k blocks */
+#define JFFS2_RESERVED_BLOCKS_BASE 1						
+#define JFFS2_RESERVED_BLOCKS_WRITE (JFFS2_RESERVED_BLOCKS_BASE + 1)		
+#define JFFS2_RESERVED_BLOCKS_DELETION (JFFS2_RESERVED_BLOCKS_BASE)		
+#define JFFS2_RESERVED_BLOCKS_GCTRIGGER (JFFS2_RESERVED_BLOCKS_BASE + 1)
+#define JFFS2_RESERVED_BLOCKS_GCBAD (JFFS2_RESERVED_BLOCKS_BASE)
+#define JFFS2_RESERVED_BLOCKS_GCMERGE (JFFS2_RESERVED_BLOCKS_BASE)	
+
+#else
+
+#define JFFS2_RESERVED_BLOCKS_BASE 3   /* Number of free blocks there must be before we... */
+#define JFFS2_RESERVED_BLOCKS_WRITE (JFFS2_RESERVED_BLOCKS_BASE + 2)	/* ... allow a normal filesystem write */
+#define JFFS2_RESERVED_BLOCKS_DELETION (JFFS2_RESERVED_BLOCKS_BASE + 1)/* ... allow a normal filesystem deletion */
 #define JFFS2_RESERVED_BLOCKS_GCTRIGGER (JFFS2_RESERVED_BLOCKS_BASE + 3)	/* ... wake up the GC thread */
 #define JFFS2_RESERVED_BLOCKS_GCBAD (JFFS2_RESERVED_BLOCKS_BASE + 1)		/* ... pick a block from the bad_list to GC */
-#define JFFS2_RESERVED_BLOCKS_GCMERGE (JFFS2_RESERVED_BLOCKS_BASE)		/* ... merge pages when garbage collecting */
+#define JFFS2_RESERVED_BLOCKS_GCMERGE (JFFS2_RESERVED_BLOCKS_BASE)	/* ... merge pages when garbage collecting */
 
+#endif /* CONFIG_TWEAK_JFFS2_GC_PARMS */
 
 #define PAD(x) (((x)+3)&~3)
 
diff -u -3 -p -r1.1.1.3 -r1.5
--- include/asm-m68knommu/nettel.h	28 Feb 2003 22:45:03 -0000	1.1.1.3
+++ include/asm-m68knommu/nettel.h	12 Mar 2003 15:23:30 -0000	1.5
@@ -16,7 +16,7 @@
 #include <linux/config.h>
 
 /****************************************************************************/
-#ifdef CONFIG_NETtel
+#if defined(CONFIG_NETtel) || defined(CONFIG_DEVELER_AMR) || defined(CONFIG_DEVELER_CDB4)
 /****************************************************************************/
 
 #ifdef CONFIG_COLDFIRE
@@ -98,6 +98,10 @@ static __inline__ void mcf_setppleds(uns
  */
 #define	MCF_HAVEDCD0
 #define	MCF_HAVEDTR0
+#if defined(CONFIG_DEVELER_AMR) || defined(CONFIG_DEVELER_CDB4)
+#define	MCF_HAVEDCD1
+#define	MCF_HAVEDTR1
+#endif
 
 #ifndef __ASSEMBLY__
 static __inline__ unsigned int mcf_getppdcd(unsigned int portnr)
@@ -107,6 +111,13 @@ static __inline__ unsigned int mcf_getpp
 		pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT);
 		return((*pp & 0x0080) ? 0 : 1);
 	}
+#if defined(HAVE_DCD1)
+	else if (portnr == 1) {
+		pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT);
+		return((*pp & 0x0020) ? 0 : 1);
+	}
+#endif
+
 	return(0);
 }
 
@@ -117,6 +128,12 @@ static __inline__ unsigned int mcf_getpp
 		pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT);
 		return((*pp & 0x0040) ? 0 : 1);
 	}
+#if defined(HAVE_DTR1)
+	else if (portnr == 1) {
+		pp = (volatile unsigned short *) (MCF_MBAR + MCFSIM_PBDAT);
+		return((*pp & 0x0010) ? 0 : 1);
+	}
+#endif
 	return(0);
 }
 
@@ -134,6 +151,6 @@ static __inline__ void mcf_setppdtr(unsi
 /*---------------------------------------------------------------------------*/
 
 /****************************************************************************/
-#endif /* CONFIG_NETtel */
+#endif /* CONFIG_NETtel || CONFIG_DEVELER_AMR || CONFIG_DEVELER_CDB4 */
 /****************************************************************************/
 #endif	/* nettel_h */
diff -u -3 -p -r1.1.1.6 -r1.5
--- include/asm-m68knommu/system.h	16 May 2003 01:08:09 -0000	1.1.1.6
+++ include/asm-m68knommu/system.h	30 Jun 2003 04:58:40 -0000	1.5
@@ -217,8 +217,8 @@ static inline unsigned long __xchg(unsig
 #endif
 
 #ifdef CONFIG_COLDFIRE
-#if defined(CONFIG_M5272) && (defined(CONFIG_NETtel) || \
-	defined(CONFIG_GILBARCONAP) || defined(CONFIG_SE1100))
+#if defined(CONFIG_M5272)
+#if defined(CONFIG_NETtel) || defined(CONFIG_GILBARCONAP) || defined(CONFIG_SE1100)
 /*
  *	Need to account for broken early mask of 5272 silicon. So don't
  *	jump through the original start address. Jump strait into the
@@ -230,6 +230,14 @@ static inline unsigned long __xchg(unsig
         jmp 0xf0000400;			\
         ");				\
 })
+#elif defined(CONFIG_DEVELER_AMR) || defined(CONFIG_DEVELER_CDB4) || defined(CONFIG_DEVELER_SEAC)
+#define HARD_RESET_NOW() ({			\
+	asm(					\
+		"movew #0x2700, %sr\n\t"	\
+		"jmp 0xffe00400\n"		\
+	);					\
+})
+#endif
 /* 
  * HARD_RESET_NOW() for senTec COBRA5272:
  *
diff -u -3 -p -r1.1.1.5 mmap.c
--- mmnommu/mmap.c	28 Feb 2003 22:45:17 -0000	1.1.1.5
+++ mmnommu/mmap.c	27 Jul 2003 23:09:32 -0000
@@ -1246,20 +1246,18 @@ unsigned long get_unmapped_area(struct f
 #ifdef DEBUG
 static void show_process_blocks(void)
 {
-	struct mm_tblock_struct * tblock, *tmp;
+	struct mm_tblock_struct *tblock;
 	
 	printk("Process blocks %d:", current->pid);
-	
-	tmp = &current->mm->tblock;
-	while (tmp) {
-		printk(" %p: %p", tmp, tmp->rblock);
-		if (tmp->rblock)
-			printk(" (%d @%p #%d)", ksize(tmp->rblock->kblock), tmp->rblock->kblock, tmp->rblock->refcount);
-		if (tmp->next)
+
+	for (tblock = &current->mm->tblock; tblock; tblock = tblock->next) {
+		printk(" %p: %p", tblock, tblock->rblock);
+		if (tblock->rblock)
+			printk(" (%d @%p #%d)", ksize(tblock->rblock), tblock->rblock->kblock, tblock->rblock->refcount);
+		if (tblock->next)
 			printk(" ->");
 		else
 			printk(".");
-		tmp = tmp->next;
 	}
 	printk("\n");
 }
@@ -1375,7 +1372,7 @@ unsigned long do_mmap_pgoff(
 #endif /* MAGIC_ROM_PTR */
 		/* Then try full mmap routine, which might return a RAM pointer,
 		   or do something truly complicated. */
-		   
+
 		if (file->f_op->mmap) {
 			error = file->f_op->mmap(file, &vma);
 				   
