1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef LINUX_BCMA_DRIVER_MIPS_H_ 3 #define LINUX_BCMA_DRIVER_MIPS_H_ 4 5 #define BCMA_MIPS_IPSFLAG 0x0F08 6 /* which sbflags get routed to mips interrupt 1 */ 7 #define BCMA_MIPS_IPSFLAG_IRQ1 0x0000003F 8 #define BCMA_MIPS_IPSFLAG_IRQ1_SHIFT 0 9 /* which sbflags get routed to mips interrupt 2 */ 10 #define BCMA_MIPS_IPSFLAG_IRQ2 0x00003F00 11 #define BCMA_MIPS_IPSFLAG_IRQ2_SHIFT 8 12 /* which sbflags get routed to mips interrupt 3 */ 13 #define BCMA_MIPS_IPSFLAG_IRQ3 0x003F0000 14 #define BCMA_MIPS_IPSFLAG_IRQ3_SHIFT 16 15 /* which sbflags get routed to mips interrupt 4 */ 16 #define BCMA_MIPS_IPSFLAG_IRQ4 0x3F000000 17 #define BCMA_MIPS_IPSFLAG_IRQ4_SHIFT 24 18 19 /* MIPS 74K core registers */ 20 #define BCMA_MIPS_MIPS74K_CORECTL 0x0000 21 #define BCMA_MIPS_MIPS74K_EXCEPTBASE 0x0004 22 #define BCMA_MIPS_MIPS74K_BIST 0x000C 23 #define BCMA_MIPS_MIPS74K_INTMASK_INT0 0x0014 24 #define BCMA_MIPS_MIPS74K_INTMASK(int) \ 25 ((int) * 4 + BCMA_MIPS_MIPS74K_INTMASK_INT0) 26 #define BCMA_MIPS_MIPS74K_NMIMASK 0x002C 27 #define BCMA_MIPS_MIPS74K_GPIOSEL 0x0040 28 #define BCMA_MIPS_MIPS74K_GPIOOUT 0x0044 29 #define BCMA_MIPS_MIPS74K_GPIOEN 0x0048 30 #define BCMA_MIPS_MIPS74K_CLKCTLST 0x01E0 31 32 #define BCMA_MIPS_OOBSELINA74 0x004 33 #define BCMA_MIPS_OOBSELOUTA30 0x100 34 35 struct bcma_device; 36 37 struct bcma_drv_mips { 38 struct bcma_device *core; 39 u8 setup_done:1; 40 u8 early_setup_done:1; 41 }; 42 43 extern u32 bcma_cpu_clock(struct bcma_drv_mips *mcore); 44 45 #endif /* LINUX_BCMA_DRIVER_MIPS_H_ */ 46