Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[linux-2.6.git] / include / linux / bcma / bcma_driver_mips.h
blobfb61f3fb4ddbb1c208b2557f7aace2c692c6632e
1 #ifndef LINUX_BCMA_DRIVER_MIPS_H_
2 #define LINUX_BCMA_DRIVER_MIPS_H_
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
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
31 #define BCMA_MIPS_OOBSELINA74 0x004
32 #define BCMA_MIPS_OOBSELOUTA30 0x100
34 struct bcma_device;
36 struct bcma_drv_mips {
37 struct bcma_device *core;
38 u8 setup_done:1;
39 u8 early_setup_done:1;
42 #ifdef CONFIG_BCMA_DRIVER_MIPS
43 extern void bcma_core_mips_init(struct bcma_drv_mips *mcore);
44 extern void bcma_core_mips_early_init(struct bcma_drv_mips *mcore);
46 extern unsigned int bcma_core_irq(struct bcma_device *core);
47 #else
48 static inline void bcma_core_mips_init(struct bcma_drv_mips *mcore) { }
49 static inline void bcma_core_mips_early_init(struct bcma_drv_mips *mcore) { }
51 static inline unsigned int bcma_core_irq(struct bcma_device *core)
53 return 0;
55 #endif
57 extern u32 bcma_cpu_clock(struct bcma_drv_mips *mcore);
59 #endif /* LINUX_BCMA_DRIVER_MIPS_H_ */