PLATFORM_RELFLAGS += -ffixed-P5
 PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
 
+ifneq (,$(CONFIG_BFIN_CPU))
+PLATFORM_RELFLAGS += -mcpu=$(CONFIG_BFIN_CPU)
+endif
+
 SYM_PREFIX = _
 
 LDR_FLAGS += --use-vmas
-ifeq (,$(findstring s,$(MAKEFLAGS)))
+ifneq (,$(findstring s,$(MAKEFLAGS)))
 LDR_FLAGS += --quiet
 endif
 
 
 int checkboard(void)
 {
-#if (BFIN_CPU == ADSP_BF531)
-       printf("CPU:   ADSP BF531 Rev.: 0.%d\n", *pCHIPID >> 28);
-#elif (BFIN_CPU == ADSP_BF532)
-       printf("CPU:   ADSP BF532 Rev.: 0.%d\n", *pCHIPID >> 28);
-#else
-       printf("CPU:   ADSP BF533 Rev.: 0.%d\n", *pCHIPID >> 28);
-#endif
        printf("Board: ADI BF533 EZ-Kit Lite board\n");
        printf("       Support: http://blackfin.uclinux.org/\n");
        return 0;
 
 
 int checkboard(void)
 {
-#if (BFIN_CPU == ADSP_BF531)
-       printf("CPU:   ADSP BF531 Rev.: 0.%d\n", *pCHIPID >> 28);
-#elif (BFIN_CPU == ADSP_BF532)
-       printf("CPU:   ADSP BF532 Rev.: 0.%d\n", *pCHIPID >> 28);
-#else
-       printf("CPU:   ADSP BF533 Rev.: 0.%d\n", *pCHIPID >> 28);
-#endif
        printf("Board: ADI BF533 Stamp board\n");
        printf("       Support: http://blackfin.uclinux.org/\n");
        return 0;
 
 #include <asm/blackfin.h>
 #include <asm/io.h>
 #include <net.h>
-#include "ether_bf537.h"
 #include <asm/mach-common/bits/bootrom.h>
 
 /**
 
 int checkboard(void)
 {
-#if (BFIN_CPU == ADSP_BF534)
-       printf("CPU:   ADSP BF534 Rev.: 0.%d\n", *pCHIPID >> 28);
-#elif (BFIN_CPU == ADSP_BF536)
-       printf("CPU:   ADSP BF536 Rev.: 0.%d\n", *pCHIPID >> 28);
-#else
-       printf("CPU:   ADSP BF537 Rev.: 0.%d\n", *pCHIPID >> 28);
-#endif
        printf("Board: ADI BF537 stamp board\n");
        printf("       Support: http://blackfin.uclinux.org/\n");
        return 0;
                        pMACaddr[2], pMACaddr[3], pMACaddr[4], pMACaddr[5]);
                setenv("ethaddr", nid);
        }
-       if (getenv("ethaddr")) {
-               SetupMacAddr(SrcAddr);
-       }
 #endif
 #endif                         /* BFIN_BOOT_MODE == BF537_BYPASS_BOOT */
 
 
 #ifndef __CONFIG_EZKIT533_H__
 #define __CONFIG_EZKIT533_H__
 
+#include <asm/blackfin-config-pre.h>
+
 #define CONFIG_BAUDRATE                57600
 #define CONFIG_STAMP           1
 
 
 #define CONFIG_PANIC_HANG 1
 
-#define ADSP_BF531             0x31
-#define ADSP_BF532             0x32
-#define ADSP_BF533             0x33
-#define BFIN_CPU               ADSP_BF533
+#define CONFIG_BFIN_CPU        bf533-0.3
 
 /* This sets the default state of the cache on U-Boot's boot */
 #define CONFIG_ICACHE_ON
 
 #define CONFIG_BOOTARGS "root=/dev/mtdblock0 ip=192.168.0.15:192.168.0.2:192.168.0.1:255.255.255.0:ezkit:eth0:off console=ttyBF0,57600"
 
-#define        CFG_PROMPT              "ezkit> "       /* Monitor Command Prompt */
+#define        CFG_PROMPT              "bfin> "        /* Monitor Command Prompt */
 #if defined(CONFIG_CMD_KGDB)
 #define        CFG_CBSIZE              1024    /* Console I/O Buffer Size */
 #else
 
 #ifndef __CONFIG_STAMP_H__
 #define __CONFIG_STAMP_H__
 
+#include <asm/blackfin-config-pre.h>
+
 #define CONFIG_STAMP                   1
 #define CONFIG_RTC_BFIN                        1
 #define CONFIG_BF533                   1
 
 #define CONFIG_PANIC_HANG 1
 
-#define ADSP_BF531             0x31
-#define ADSP_BF532             0x32
-#define ADSP_BF533             0x33
-#define BFIN_CPU               ADSP_BF533
+#define CONFIG_BFIN_CPU        bf533-0.3
 
 /* This sets the default state of the cache on U-Boot's boot */
 #define CONFIG_ICACHE_ON
 #define CONFIG_BAUDRATE                57600
 #define CFG_BAUDRATE_TABLE     { 9600, 19200, 38400, 57600, 115200 }
 
-#if (BFIN_BOOT_MODE == BF533_SPI_BOOT)
-#if (BFIN_CPU == ADSP_BF531)
-#define        CFG_PROMPT      "serial_bf531> "        /* Monitor Command Prompt */
-#elif (BFIN_CPU == ADSP_BF532)
-#define        CFG_PROMPT      "serial_bf532> "        /* Monitor Command Prompt */
-#else
-#define        CFG_PROMPT      "serial_bf533> "        /* Monitor Command Prompt */
-#endif
-#else
-#if (BFIN_CPU == ADSP_BF531)
-#define        CFG_PROMPT      "bf531> "       /* Monitor Command Prompt */
-#elif (BFIN_CPU == ADSP_BF532)
-#define        CFG_PROMPT      "bf532> "       /* Monitor Command Prompt */
-#else
-#define        CFG_PROMPT      "bf533> "       /* Monitor Command Prompt */
-#endif
-#endif
+#define        CFG_PROMPT              "bfin> "        /* Monitor Command Prompt */
 
 #if defined(CONFIG_CMD_KGDB)
 #define CFG_CBSIZE     1024            /* Console I/O Buffer Size */
 
 #ifndef __CONFIG_BF537_H__
 #define __CONFIG_BF537_H__
 
+#include <asm/blackfin-config-pre.h>
+
 #define CFG_LONGHELP           1
 #define CONFIG_CMDLINE_EDITING 1
 #define CONFIG_BAUDRATE                57600
 
 #define CONFIG_PANIC_HANG 1
 
-#define ADSP_BF534             0x34
-#define ADSP_BF536             0x36
-#define ADSP_BF537             0x37
-#define BFIN_CPU               ADSP_BF537
+#define CONFIG_BFIN_CPU        bf537-0.2
+#define CONFIG_BFIN_MAC
 
 /* This sets the default state of the cache on U-Boot's boot */
 #define CONFIG_ICACHE_ON
  * Network Settings
  */
 /* network support */
-#if (BFIN_CPU != ADSP_BF534)
+#ifdef CONFIG_BFIN_MAC
 #define CONFIG_IPADDR          192.168.0.15
 #define CONFIG_NETMASK         255.255.255.0
 #define CONFIG_GATEWAYIP       192.168.0.1
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_DATE
 
-#if (BFIN_CPU == ADSP_BF534)
+#ifndef CONFIG_BFIN_MAC
 #undef CONFIG_CMD_NET
 #else
 #define CONFIG_CMD_PING
 #define CONFIG_LOADADDR        0x1000000
 
 #if (BFIN_BOOT_MODE == BF537_BYPASS_BOOT)
-#if (BFIN_CPU != ADSP_BF534)
+#ifdef CONFIG_BFIN_MAC
 #define CONFIG_EXTRA_ENV_SETTINGS                              \
        "ramargs=setenv bootargs root=/dev/mtdblock0 rw console=ttyBF0,57600\0" \
        "nfsargs=setenv bootargs root=/dev/nfs rw "             \
        ""
 #endif
 #elif (BFIN_BOOT_MODE == BF537_SPI_MASTER_BOOT)
-#if (BFIN_CPU != ADSP_BF534)
+#ifdef CONFIG_BFIN_MAC
 #define CONFIG_EXTRA_ENV_SETTINGS                              \
        "ramargs=setenv bootargs root=/dev/mtdblock0 rw console=ttyBF0,57600\0" \
        "nfsargs=setenv bootargs root=/dev/nfs rw "             \
 #endif
 #endif
 
-#if (BFIN_BOOT_MODE == BF537_SPI_MASTER_BOOT)
-#if (BFIN_CPU == ADSP_BF534)
-#define        CFG_PROMPT              "serial_bf534> "        /* Monitor Command Prompt */
-#elif (BFIN_CPU == ADSP_BF536)
-#define        CFG_PROMPT              "serial_bf536> "        /* Monitor Command Prompt */
-#else
-#define        CFG_PROMPT              "serial_bf537> "        /* Monitor Command Prompt */
-#endif
-#else
-#if (BFIN_CPU == ADSP_BF534)
-#define        CFG_PROMPT              "bf534> "       /* Monitor Command Prompt */
-#elif (BFIN_CPU == ADSP_BF536)
-#define        CFG_PROMPT              "bf536> "       /* Monitor Command Prompt */
-#else
-#define        CFG_PROMPT              "bf537> "       /* Monitor Command Prompt */
-#endif
-#endif
+#define        CFG_PROMPT              "bfin> "        /* Monitor Command Prompt */
 
 #if defined(CONFIG_CMD_KGDB)
 #define        CFG_CBSIZE              1024    /* Console I/O Buffer Size */
 
 #ifndef __CONFIG_EZKIT561_H__
 #define __CONFIG_EZKIT561_H__
 
+#include <asm/blackfin-config-pre.h>
+
 #define CONFIG_VDSP            1
 #define CONFIG_BF561           1
 
 
 #define CONFIG_PANIC_HANG 1
 
+#define CONFIG_BFIN_CPU        bf561-0.3
+
 /*
 * Boot Mode Set
 * Blackfin can support several boot modes
  */
 #define CFG_BAUDRATE_TABLE     { 9600, 19200, 38400, 57600, 115200 }
 
-#define        CFG_PROMPT              "ezkit> "       /* Monitor Command Prompt */
+#define        CFG_PROMPT              "bfin> "        /* Monitor Command Prompt */
 
 #if defined(CONFIG_CMD_KGDB)
 #define        CFG_CBSIZE              1024            /* Console I/O Buffer Size */
 
 {
        sprintf(version_string, VERSION_STRING_FORMAT, VERSION_STRING);
        printf("%s\n", version_string);
+       printf("CPU:   ADSP " MK_STR(CONFIG_BFIN_CPU) " (Detected Rev: 0.%d)\n", bfin_revid());
        return (0);
 }
 
        misc_init_r();
 #endif
 
-#if ((BFIN_CPU == ADSP_BF537) || (BFIN_CPU == ADSP_BF536))
+#ifdef CONFIG_CMD_NET
        printf("Net:    ");
        eth_initialize(bd);
 #endif