162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef __ATH25_DEVICES_H 362306a36Sopenharmony_ci#define __ATH25_DEVICES_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <linux/cpu.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#define ATH25_REG_MS(_val, _field) (((_val) & _field##_M) >> _field##_S) 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#define ATH25_IRQ_CPU_CLOCK (MIPS_CPU_IRQ_BASE + 7) /* C0_CAUSE: 0x8000 */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_cienum ath25_soc_type { 1262306a36Sopenharmony_ci /* handled by ar5312.c */ 1362306a36Sopenharmony_ci ATH25_SOC_AR2312, 1462306a36Sopenharmony_ci ATH25_SOC_AR2313, 1562306a36Sopenharmony_ci ATH25_SOC_AR5312, 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci /* handled by ar2315.c */ 1862306a36Sopenharmony_ci ATH25_SOC_AR2315, 1962306a36Sopenharmony_ci ATH25_SOC_AR2316, 2062306a36Sopenharmony_ci ATH25_SOC_AR2317, 2162306a36Sopenharmony_ci ATH25_SOC_AR2318, 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci ATH25_SOC_UNKNOWN 2462306a36Sopenharmony_ci}; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciextern enum ath25_soc_type ath25_soc; 2762306a36Sopenharmony_ciextern struct ar231x_board_config ath25_board; 2862306a36Sopenharmony_ciextern void (*ath25_irq_dispatch)(void); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ciint ath25_find_config(phys_addr_t offset, unsigned long size); 3162306a36Sopenharmony_civoid ath25_serial_setup(u32 mapbase, int irq, unsigned int uartclk); 3262306a36Sopenharmony_ciint ath25_add_wmac(int nr, u32 base, int irq); 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cistatic inline bool is_ar2315(void) 3562306a36Sopenharmony_ci{ 3662306a36Sopenharmony_ci return (current_cpu_data.cputype == CPU_4KEC); 3762306a36Sopenharmony_ci} 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_cistatic inline bool is_ar5312(void) 4062306a36Sopenharmony_ci{ 4162306a36Sopenharmony_ci return !is_ar2315(); 4262306a36Sopenharmony_ci} 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci#endif 45