mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +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
@ -801,10 +801,8 @@ void __init setup_arch(char **cmdline_p)
|
|||||||
cclk = get_cclk();
|
cclk = get_cclk();
|
||||||
sclk = get_sclk();
|
sclk = get_sclk();
|
||||||
|
|
||||||
#if !defined(CONFIG_BFIN_KERNEL_CLOCK)
|
if ((ANOMALY_05000273 || ANOMALY_05000274) && (cclk >> 1) < sclk)
|
||||||
if (ANOMALY_05000273 && cclk == sclk)
|
panic("ANOMALY 05000273 or 05000274: CCLK must be >= 2*SCLK");
|
||||||
panic("ANOMALY 05000273, SCLK can not be same as CCLK");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef BF561_FAMILY
|
#ifdef BF561_FAMILY
|
||||||
if (ANOMALY_05000266) {
|
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",
|
printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n",
|
||||||
cclk / 1000000, sclk / 1000000);
|
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();
|
setup_bootmem_allocator();
|
||||||
|
|
||||||
paging_init();
|
paging_init();
|
||||||
|
@ -140,7 +140,8 @@ static int __init __bfin_cpu_init(struct cpufreq_policy *policy)
|
|||||||
cclk = get_cclk() / 1000;
|
cclk = get_cclk() / 1000;
|
||||||
sclk = get_sclk() / 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;
|
min_cclk = sclk * 2;
|
||||||
#else
|
#else
|
||||||
min_cclk = sclk;
|
min_cclk = sclk;
|
||||||
|
Loading…
Reference in New Issue
Block a user