first try to integrate nbds great new switch drivers for 2.4/2.6 with full vlan suppo...
[openwrt/svn-archive/archive.git] / openwrt / target / linux / package / switch / src / gpio.h
1 #ifndef __GPIO_H
2 #define __GPIO_H
3
4 #if defined(BCMGPIO2)
5
6 extern void *sbh;
7 extern __u32 sb_gpioin(void *sbh);
8 extern __u32 sb_gpiointpolarity(void *sbh, __u32 mask, __u32 val, __u8 prio);
9 extern __u32 sb_gpiointmask(void *sbh, __u32 mask, __u32 val, __u8 prio);
10 extern __u32 sb_gpioouten(void *sbh, __u32 mask, __u32 val, __u8 prio);
11 extern __u32 sb_gpioout(void *sbh, __u32 mask, __u32 val, __u8 prio);
12
13 #define gpioin() sb_gpioin(sbh)
14 #define gpiointpolarity(mask,val) sb_gpiointpolarity(sbh, mask, val, 0)
15 #define gpiointmask(mask,val) sb_gpiointmask(sbh, mask, val, 0)
16 #define gpioouten(mask,val) sb_gpioouten(sbh, mask, val, 0)
17 #define gpioout(mask,val) sb_gpioout(sbh, mask, val, 0)
18
19 #elif defined(BCMGPIO)
20
21 #define sbh bcm947xx_sbh
22 extern void *bcm947xx_sbh;
23 extern __u32 sb_gpioin(void *sbh);
24 extern __u32 sb_gpiointpolarity(void *sbh, __u32 mask, __u32 val);
25 extern __u32 sb_gpiointmask(void *sbh, __u32 mask, __u32 val);
26 extern __u32 sb_gpioouten(void *sbh, __u32 mask, __u32 val);
27 extern __u32 sb_gpioout(void *sbh, __u32 mask, __u32 val);
28
29 #define gpioin() sb_gpioin(sbh)
30 #define gpiointpolarity(mask,val) sb_gpiointpolarity(sbh, mask, val)
31 #define gpiointmask(mask,val) sb_gpiointmask(sbh, mask, val)
32 #define gpioouten(mask,val) sb_gpioouten(sbh, mask, val)
33 #define gpioout(mask,val) sb_gpioout(sbh, mask, val)
34
35 #else
36 #error Unsupported/unknown GPIO configuration
37 #endif
38
39 #endif /* __GPIO_H */