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