162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  Atheros AR231x/AR531x SoC specific CPU feature overrides
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *  Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci *  This file was derived from: include/asm-mips/cpu-features.h
862306a36Sopenharmony_ci *	Copyright (C) 2003, 2004 Ralf Baechle
962306a36Sopenharmony_ci *	Copyright (C) 2004 Maciej W. Rozycki
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci#ifndef __ASM_MACH_ATH25_CPU_FEATURE_OVERRIDES_H
1262306a36Sopenharmony_ci#define __ASM_MACH_ATH25_CPU_FEATURE_OVERRIDES_H
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/*
1562306a36Sopenharmony_ci * The Atheros AR531x/AR231x SoCs have MIPS 4Kc/4KEc core.
1662306a36Sopenharmony_ci */
1762306a36Sopenharmony_ci#define cpu_has_tlb			1
1862306a36Sopenharmony_ci#define cpu_has_4kex			1
1962306a36Sopenharmony_ci#define cpu_has_3k_cache		0
2062306a36Sopenharmony_ci#define cpu_has_4k_cache		1
2162306a36Sopenharmony_ci#define cpu_has_sb1_cache		0
2262306a36Sopenharmony_ci#define cpu_has_fpu			0
2362306a36Sopenharmony_ci#define cpu_has_32fpr			0
2462306a36Sopenharmony_ci#define cpu_has_counter			1
2562306a36Sopenharmony_ci#define cpu_has_ejtag			1
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci#if !defined(CONFIG_SOC_AR5312)
2862306a36Sopenharmony_ci#  define cpu_has_llsc			1
2962306a36Sopenharmony_ci#else
3062306a36Sopenharmony_ci/*
3162306a36Sopenharmony_ci * The MIPS 4Kc V0.9 core in the AR5312/AR2312 have problems with the
3262306a36Sopenharmony_ci * ll/sc instructions.
3362306a36Sopenharmony_ci */
3462306a36Sopenharmony_ci#  define cpu_has_llsc			0
3562306a36Sopenharmony_ci#endif
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci#define cpu_has_mips16			0
3862306a36Sopenharmony_ci#define cpu_has_mips16e2		0
3962306a36Sopenharmony_ci#define cpu_has_mdmx			0
4062306a36Sopenharmony_ci#define cpu_has_mips3d			0
4162306a36Sopenharmony_ci#define cpu_has_smartmips		0
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#define cpu_has_mips32r1		1
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci#if !defined(CONFIG_SOC_AR5312)
4662306a36Sopenharmony_ci#  define cpu_has_mips32r2		1
4762306a36Sopenharmony_ci#endif
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci#define cpu_has_mips64r1		0
5062306a36Sopenharmony_ci#define cpu_has_mips64r2		0
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci#define cpu_has_dsp			0
5362306a36Sopenharmony_ci#define cpu_has_mipsmt			0
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci#define cpu_has_64bits			0
5662306a36Sopenharmony_ci#define cpu_has_64bit_zero_reg		0
5762306a36Sopenharmony_ci#define cpu_has_64bit_gp_regs		0
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci#endif /* __ASM_MACH_ATH25_CPU_FEATURE_OVERRIDES_H */
60