Blackfin arch: Move all the silicon rev handling to one place
Mike Frysinger [Thu, 9 Oct 2008 09:32:28 +0000 (17:32 +0800)]
Move all the silicon rev handling to one place (Kconfig) and
make sure we warn if you are running on silicon that has not been tested on

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>

arch/blackfin/Kconfig
arch/blackfin/kernel/setup.c
arch/blackfin/mach-bf527/include/mach/bf527.h
arch/blackfin/mach-bf533/include/mach/bf533.h
arch/blackfin/mach-bf537/include/mach/bf537.h
arch/blackfin/mach-bf548/include/mach/bf548.h
arch/blackfin/mach-bf561/include/mach/bf561.h

index 10c97ef..8102c79 100644 (file)
@@ -166,6 +166,19 @@ config BF561
 
 endchoice
 
+config BF_REV_MIN
+       int
+       default 0 if (BF52x || BF54x)
+       default 2 if (BF537 || BF536 || BF534)
+       default 3 if (BF561 ||BF533 || BF532 || BF531)
+
+config BF_REV_MAX
+       int
+       default 2 if (BF52x || BF54x)
+       default 3 if (BF537 || BF536 || BF534)
+       default 5 if (BF561)
+       default 6 if (BF533 || BF532 || BF531)
+
 choice
        prompt "Silicon Rev"
        default BF_REV_0_1 if (BF52x || BF54x)
index e9054e0..4267523 100644 (file)
@@ -821,9 +821,10 @@ void __init setup_arch(char **cmdline_p)
                        printk(KERN_ERR "Warning: Compiled for Rev %d, but running on Rev %d\n",
                               bfin_compiled_revid(), bfin_revid());
        }
-       if (bfin_revid() < SUPPORTED_REVID)
+       if (bfin_revid() <= CONFIG_BF_REV_MIN || bfin_revid() > CONFIG_BF_REV_MAX)
                printk(KERN_ERR "Warning: Unsupported Chip Revision ADSP-%s Rev 0.%d detected\n",
                       CPU, bfin_revid());
+
        printk(KERN_INFO "Blackfin Linux support by http://blackfin.uclinux.org/\n");
 
        printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n",
index 056eb4b..330041f 100644 (file)
@@ -30,8 +30,6 @@
 #ifndef __MACH_BF527_H__
 #define __MACH_BF527_H__
 
-#define SUPPORTED_REVID 2
-
 #define OFFSET_(x) ((x) & 0x0000FFFF)
 
 /*some misc defines*/
index 12a4169..9498011 100644 (file)
@@ -30,8 +30,6 @@
 #ifndef __MACH_BF533_H__
 #define __MACH_BF533_H__
 
-#define SUPPORTED_REVID 2
-
 #define OFFSET_(x) ((x) & 0x0000FFFF)
 
 /*some misc defines*/
index cfe2a22..7a047e0 100644 (file)
@@ -30,8 +30,6 @@
 #ifndef __MACH_BF537_H__
 #define __MACH_BF537_H__
 
-#define SUPPORTED_REVID 2
-
 /* Masks for generic ERROR IRQ demultiplexing used in int-priority-sc.c */
 
 #define SPI_ERR_MASK (TXCOL | RBSY | MODF | TXE)       /* SPI_STAT */
index e748588..14f8a7b 100644 (file)
@@ -30,8 +30,6 @@
 #ifndef __MACH_BF548_H__
 #define __MACH_BF548_H__
 
-#define SUPPORTED_REVID 0
-
 #define OFFSET_(x) ((x) & 0x0000FFFF)
 
 /*some misc defines*/
index 3ef9e5f..7787caa 100644 (file)
@@ -30,8 +30,6 @@
 #ifndef __MACH_BF561_H__
 #define __MACH_BF561_H__
 
-#define SUPPORTED_REVID                0x3
-
 #define OFFSET_(x) ((x) & 0x0000FFFF)
 
 /*some misc defines*/