mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
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>
This commit is contained in:
parent
d8804adf52
commit
7f3aee3c18
2 changed files with 4 additions and 8 deletions
|
@ -801,10 +801,8 @@ void __init setup_arch(char **cmdline_p)
|
|||
cclk = get_cclk();
|
||||
sclk = get_sclk();
|
||||
|
||||
#if !defined(CONFIG_BFIN_KERNEL_CLOCK)
|
||||
if (ANOMALY_05000273 && cclk == sclk)
|
||||
panic("ANOMALY 05000273, SCLK can not be same as CCLK");
|
||||
#endif
|
||||
if ((ANOMALY_05000273 || ANOMALY_05000274) && (cclk >> 1) < sclk)
|
||||
panic("ANOMALY 05000273 or 05000274: CCLK must be >= 2*SCLK");
|
||||
|
||||
#ifdef BF561_FAMILY
|
||||
if (ANOMALY_05000266) {
|
||||
|
@ -903,9 +901,6 @@ void __init setup_arch(char **cmdline_p)
|
|||
printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n",
|
||||
cclk / 1000000, sclk / 1000000);
|
||||
|
||||
if (ANOMALY_05000273 && (cclk >> 1) <= sclk)
|
||||
printk("\n\n\nANOMALY_05000273: CCLK must be >= 2*SCLK !!!\n\n\n");
|
||||
|
||||
setup_bootmem_allocator();
|
||||
|
||||
paging_init();
|
||||
|
|
|
@ -140,7 +140,8 @@ static int __init __bfin_cpu_init(struct cpufreq_policy *policy)
|
|||
cclk = get_cclk() / 1000;
|
||||
sclk = get_sclk() / 1000;
|
||||
|
||||
#if ANOMALY_05000273 || (!defined(CONFIG_BF54x) && defined(CONFIG_BFIN_DCACHE))
|
||||
#if ANOMALY_05000273 || ANOMALY_05000274 || \
|
||||
(!defined(CONFIG_BF54x) && defined(CONFIG_BFIN_DCACHE))
|
||||
min_cclk = sclk * 2;
|
||||
#else
|
||||
min_cclk = sclk;
|
||||
|
|
Loading…
Reference in a new issue