-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MIPS: BCM47XX: add cpu-feature-overrides.h
The BCM47XX SoC code missed a cpu-feature-overrides.h header file, this patch adds it. This code supports a long line of SoCs with different features so for some features we still have to rely on the runtime detection. This was crated by checking the features of a BCM4712, BCM4704, BCM5354, BCM4716 and BCM4706 SoC and then tested on these SoCs. There are some SoCs missing but I hope they do not have any more or less features. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John Crispin <blogic@openwrt.org> Patchwork: http://patchwork.linux-mips.org/patch/6289/
- Loading branch information
Hauke Mehrtens
authored and
Ralf Baechle
committed
Jan 22, 2014
1 parent
f4c4d58
commit d775c96
Showing
1 changed file
with
82 additions
and
0 deletions.
There are no files selected for viewing
82 changes: 82 additions & 0 deletions
82
arch/mips/include/asm/mach-bcm47xx/cpu-feature-overrides.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
#ifndef __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H | ||
#define __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H | ||
|
||
#define cpu_has_tlb 1 | ||
#define cpu_has_4kex 1 | ||
#define cpu_has_3k_cache 0 | ||
#define cpu_has_4k_cache 1 | ||
#define cpu_has_tx39_cache 0 | ||
#define cpu_has_fpu 0 | ||
#define cpu_has_32fpr 0 | ||
#define cpu_has_counter 1 | ||
#if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB) | ||
#define cpu_has_watch 1 | ||
#elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA) | ||
#define cpu_has_watch 0 | ||
#endif | ||
#define cpu_has_divec 1 | ||
#define cpu_has_vce 0 | ||
#define cpu_has_cache_cdex_p 0 | ||
#define cpu_has_cache_cdex_s 0 | ||
#define cpu_has_prefetch 1 | ||
#define cpu_has_mcheck 1 | ||
#define cpu_has_ejtag 1 | ||
#define cpu_has_llsc 1 | ||
|
||
/* cpu_has_mips16 */ | ||
#define cpu_has_mdmx 0 | ||
#define cpu_has_mips3d 0 | ||
#define cpu_has_rixi 0 | ||
#define cpu_has_mmips 0 | ||
#define cpu_has_smartmips 0 | ||
#define cpu_has_vtag_icache 0 | ||
/* cpu_has_dc_aliases */ | ||
#define cpu_has_ic_fills_f_dc 0 | ||
#define cpu_has_pindexed_dcache 0 | ||
#define cpu_icache_snoops_remote_store 0 | ||
|
||
#define cpu_has_mips_2 1 | ||
#define cpu_has_mips_3 0 | ||
#define cpu_has_mips32r1 1 | ||
#if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB) | ||
#define cpu_has_mips32r2 1 | ||
#elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA) | ||
#define cpu_has_mips32r2 0 | ||
#endif | ||
#define cpu_has_mips64r1 0 | ||
#define cpu_has_mips64r2 0 | ||
|
||
#if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB) | ||
#define cpu_has_dsp 1 | ||
#define cpu_has_dsp2 1 | ||
#elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA) | ||
#define cpu_has_dsp 0 | ||
#define cpu_has_dsp2 0 | ||
#endif | ||
#define cpu_has_mipsmt 0 | ||
/* cpu_has_userlocal */ | ||
|
||
#define cpu_has_nofpuex 0 | ||
#define cpu_has_64bits 0 | ||
#define cpu_has_64bit_zero_reg 0 | ||
#if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB) | ||
#define cpu_has_vint 1 | ||
#elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA) | ||
#define cpu_has_vint 0 | ||
#endif | ||
#define cpu_has_veic 0 | ||
#define cpu_has_inclusive_pcaches 0 | ||
|
||
#if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB) | ||
#define cpu_dcache_line_size() 32 | ||
#define cpu_icache_line_size() 32 | ||
#define cpu_has_perf_cntr_intr_bit 1 | ||
#elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA) | ||
#define cpu_dcache_line_size() 16 | ||
#define cpu_icache_line_size() 16 | ||
#define cpu_has_perf_cntr_intr_bit 0 | ||
#endif | ||
#define cpu_scache_line_size() 0 | ||
#define cpu_has_vz 0 | ||
|
||
#endif /* __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H */ |