aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2009-05-07 06:04:19 -0400
committerMike Frysinger <vapier@gentoo.org>2009-06-12 06:11:35 -0400
commit7f3aee3c187641ec7c7e260d9cabb71ac4ac9f7c (patch)
treef4c43c51e75bf5c74bf73da44e3d2d0789d7e340 /arch/blackfin/kernel
parentd8804adf52f5991388fa9af77428e4cc7768059d (diff)
Blackfin: detect anomaly 05000274
Detect and reject operating conditions for anomaly 05000274 since the problem cannot be worked around in software. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r--arch/blackfin/kernel/setup.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index 5a4a03670085..dc30e0aa54cd 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -801,10 +801,8 @@ void __init setup_arch(char **cmdline_p)
801 cclk = get_cclk(); 801 cclk = get_cclk();
802 sclk = get_sclk(); 802 sclk = get_sclk();
803 803
804#if !defined(CONFIG_BFIN_KERNEL_CLOCK) 804 if ((ANOMALY_05000273 || ANOMALY_05000274) && (cclk >> 1) < sclk)
805 if (ANOMALY_05000273 && cclk == sclk) 805 panic("ANOMALY 05000273 or 05000274: CCLK must be >= 2*SCLK");
806 panic("ANOMALY 05000273, SCLK can not be same as CCLK");
807#endif
808 806
809#ifdef BF561_FAMILY 807#ifdef BF561_FAMILY
810 if (ANOMALY_05000266) { 808 if (ANOMALY_05000266) {
@@ -903,9 +901,6 @@ void __init setup_arch(char **cmdline_p)
903 printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n", 901 printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n",
904 cclk / 1000000, sclk / 1000000); 902 cclk / 1000000, sclk / 1000000);
905 903
906 if (ANOMALY_05000273 && (cclk >> 1) <= sclk)
907 printk("\n\n\nANOMALY_05000273: CCLK must be >= 2*SCLK !!!\n\n\n");
908
909 setup_bootmem_allocator(); 904 setup_bootmem_allocator();
910 905
911 paging_init(); 906 paging_init();