1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2d775c966SHauke Mehrtens #ifndef __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H
3d775c966SHauke Mehrtens #define __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H
4d775c966SHauke Mehrtens 
5d775c966SHauke Mehrtens #define cpu_has_tlb			1
6d775c966SHauke Mehrtens #define cpu_has_4kex			1
7d775c966SHauke Mehrtens #define cpu_has_3k_cache		0
8d775c966SHauke Mehrtens #define cpu_has_4k_cache		1
9d775c966SHauke Mehrtens #define cpu_has_fpu			0
10d775c966SHauke Mehrtens #define cpu_has_32fpr			0
11d775c966SHauke Mehrtens #define cpu_has_counter			1
12d775c966SHauke Mehrtens #if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB)
13d775c966SHauke Mehrtens #define cpu_has_watch			1
14d775c966SHauke Mehrtens #elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA)
15d775c966SHauke Mehrtens #define cpu_has_watch			0
16d775c966SHauke Mehrtens #endif
17d775c966SHauke Mehrtens #define cpu_has_divec			1
18d775c966SHauke Mehrtens #define cpu_has_vce			0
19d775c966SHauke Mehrtens #define cpu_has_cache_cdex_p		0
20d775c966SHauke Mehrtens #define cpu_has_cache_cdex_s		0
21d775c966SHauke Mehrtens #define cpu_has_prefetch		1
22d775c966SHauke Mehrtens #define cpu_has_mcheck			1
23d775c966SHauke Mehrtens #define cpu_has_ejtag			1
24d775c966SHauke Mehrtens #define cpu_has_llsc			1
25d775c966SHauke Mehrtens 
26d775c966SHauke Mehrtens /* cpu_has_mips16 */
27d775c966SHauke Mehrtens #define cpu_has_mdmx			0
28d775c966SHauke Mehrtens #define cpu_has_mips3d			0
29d775c966SHauke Mehrtens #define cpu_has_rixi			0
30d775c966SHauke Mehrtens #define cpu_has_mmips			0
31d775c966SHauke Mehrtens #define cpu_has_smartmips		0
32d775c966SHauke Mehrtens #define cpu_has_vtag_icache		0
33d775c966SHauke Mehrtens /* cpu_has_dc_aliases */
34d775c966SHauke Mehrtens #define cpu_has_ic_fills_f_dc		0
35d775c966SHauke Mehrtens #define cpu_has_pindexed_dcache		0
36d775c966SHauke Mehrtens #define cpu_icache_snoops_remote_store	0
37d775c966SHauke Mehrtens 
38d775c966SHauke Mehrtens #define cpu_has_mips_2			1
39d775c966SHauke Mehrtens #define cpu_has_mips_3			0
40d775c966SHauke Mehrtens #define cpu_has_mips32r1		1
41d775c966SHauke Mehrtens #if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB)
42d775c966SHauke Mehrtens #define cpu_has_mips32r2		1
43d775c966SHauke Mehrtens #elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA)
44d775c966SHauke Mehrtens #define cpu_has_mips32r2		0
45d775c966SHauke Mehrtens #endif
46d775c966SHauke Mehrtens #define cpu_has_mips64r1		0
47d775c966SHauke Mehrtens #define cpu_has_mips64r2		0
48d775c966SHauke Mehrtens 
49d775c966SHauke Mehrtens #if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB)
50d775c966SHauke Mehrtens #define cpu_has_dsp			1
51d775c966SHauke Mehrtens #define cpu_has_dsp2			1
52d775c966SHauke Mehrtens #elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA)
53d775c966SHauke Mehrtens #define cpu_has_dsp			0
54d775c966SHauke Mehrtens #define cpu_has_dsp2			0
55d775c966SHauke Mehrtens #endif
56d775c966SHauke Mehrtens #define cpu_has_mipsmt			0
57d775c966SHauke Mehrtens /* cpu_has_userlocal */
58d775c966SHauke Mehrtens 
59d775c966SHauke Mehrtens #define cpu_has_nofpuex			0
60d775c966SHauke Mehrtens #define cpu_has_64bits			0
61d775c966SHauke Mehrtens #define cpu_has_64bit_zero_reg		0
62d775c966SHauke Mehrtens #if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB)
63d775c966SHauke Mehrtens #define cpu_has_vint			1
64d775c966SHauke Mehrtens #elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA)
65d775c966SHauke Mehrtens #define cpu_has_vint			0
66d775c966SHauke Mehrtens #endif
67d775c966SHauke Mehrtens #define cpu_has_veic			0
68d775c966SHauke Mehrtens #define cpu_has_inclusive_pcaches	0
69d775c966SHauke Mehrtens 
70d775c966SHauke Mehrtens #if defined(CONFIG_BCM47XX_BCMA) && !defined(CONFIG_BCM47XX_SSB)
71d775c966SHauke Mehrtens #define cpu_dcache_line_size()		32
72d775c966SHauke Mehrtens #define cpu_icache_line_size()		32
73d775c966SHauke Mehrtens #define cpu_has_perf_cntr_intr_bit	1
74d775c966SHauke Mehrtens #elif defined(CONFIG_BCM47XX_SSB) && !defined(CONFIG_BCM47XX_BCMA)
75d775c966SHauke Mehrtens #define cpu_dcache_line_size()		16
76d775c966SHauke Mehrtens #define cpu_icache_line_size()		16
77d775c966SHauke Mehrtens #define cpu_has_perf_cntr_intr_bit	0
78d775c966SHauke Mehrtens #endif
79d775c966SHauke Mehrtens #define cpu_scache_line_size()		0
80d775c966SHauke Mehrtens #define cpu_has_vz			0
81d775c966SHauke Mehrtens 
82d775c966SHauke Mehrtens #endif /* __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H */
83