Commit | Line | Data |
---|---|---|
21e0534a HM |
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_OOBSELOUTA30 0x100 | |
32 | ||
33 | struct bcma_device; | |
34 | ||
35 | struct bcma_drv_mips { | |
36 | struct bcma_device *core; | |
37 | u8 setup_done:1; | |
38 | unsigned int assigned_irqs; | |
39 | }; | |
40 | ||
41 | #ifdef CONFIG_BCMA_DRIVER_MIPS | |
42 | extern void bcma_core_mips_init(struct bcma_drv_mips *mcore); | |
43 | #else | |
44 | static inline void bcma_core_mips_init(struct bcma_drv_mips *mcore) { } | |
45 | #endif | |
46 | ||
47 | extern unsigned int bcma_core_mips_irq(struct bcma_device *dev); | |
48 | ||
49 | #endif /* LINUX_BCMA_DRIVER_MIPS_H_ */ |