|  | /* SPDX-License-Identifier: GPL-2.0 */ | 
|  | #ifndef LINUX_BCMA_DRIVER_MIPS_H_ | 
|  | #define LINUX_BCMA_DRIVER_MIPS_H_ | 
|  |  | 
|  | #define BCMA_MIPS_IPSFLAG		0x0F08 | 
|  | /* which sbflags get routed to mips interrupt 1 */ | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ1		0x0000003F | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ1_SHIFT	0 | 
|  | /* which sbflags get routed to mips interrupt 2 */ | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ2		0x00003F00 | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ2_SHIFT	8 | 
|  | /* which sbflags get routed to mips interrupt 3 */ | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ3		0x003F0000 | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ3_SHIFT	16 | 
|  | /* which sbflags get routed to mips interrupt 4 */ | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ4		0x3F000000 | 
|  | #define  BCMA_MIPS_IPSFLAG_IRQ4_SHIFT	24 | 
|  |  | 
|  | /* MIPS 74K core registers */ | 
|  | #define BCMA_MIPS_MIPS74K_CORECTL	0x0000 | 
|  | #define BCMA_MIPS_MIPS74K_EXCEPTBASE	0x0004 | 
|  | #define BCMA_MIPS_MIPS74K_BIST		0x000C | 
|  | #define BCMA_MIPS_MIPS74K_INTMASK_INT0	0x0014 | 
|  | #define BCMA_MIPS_MIPS74K_INTMASK(int) \ | 
|  | ((int) * 4 + BCMA_MIPS_MIPS74K_INTMASK_INT0) | 
|  | #define BCMA_MIPS_MIPS74K_NMIMASK	0x002C | 
|  | #define BCMA_MIPS_MIPS74K_GPIOSEL	0x0040 | 
|  | #define BCMA_MIPS_MIPS74K_GPIOOUT	0x0044 | 
|  | #define BCMA_MIPS_MIPS74K_GPIOEN	0x0048 | 
|  | #define BCMA_MIPS_MIPS74K_CLKCTLST	0x01E0 | 
|  |  | 
|  | #define BCMA_MIPS_OOBSELINA74		0x004 | 
|  | #define BCMA_MIPS_OOBSELOUTA30		0x100 | 
|  |  | 
|  | struct bcma_device; | 
|  |  | 
|  | struct bcma_drv_mips { | 
|  | struct bcma_device *core; | 
|  | u8 setup_done:1; | 
|  | u8 early_setup_done:1; | 
|  | }; | 
|  |  | 
|  | extern u32 bcma_cpu_clock(struct bcma_drv_mips *mcore); | 
|  |  | 
|  | #endif /* LINUX_BCMA_DRIVER_MIPS_H_ */ |