aboutsummaryrefslogtreecommitdiffstats
path: root/package/switch/src/gpio.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-05-31 16:01:46 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-05-31 16:01:46 +0000
commit2ec7843bec8ad7173298213a8cc0a33712949c44 (patch)
tree460661226ea23e959d2cfbac10dff5c1b12b2fd7 /package/switch/src/gpio.h
parent7fb25c05a58b96c1f413c1004932bd27294d0bb9 (diff)
downloadupstream-2ec7843bec8ad7173298213a8cc0a33712949c44.tar.gz
upstream-2ec7843bec8ad7173298213a8cc0a33712949c44.tar.bz2
upstream-2ec7843bec8ad7173298213a8cc0a33712949c44.zip
move target/linux/package/switch to package/, fix a bug in the ipkg dependency handling
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@3864 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/switch/src/gpio.h')
-rw-r--r--package/switch/src/gpio.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/package/switch/src/gpio.h b/package/switch/src/gpio.h
new file mode 100644
index 0000000000..8257600331
--- /dev/null
+++ b/package/switch/src/gpio.h
@@ -0,0 +1,45 @@
+#ifndef __GPIO_H
+#define __GPIO_H
+
+#if defined(BCMGPIO2)
+
+#ifdef LINUX_2_4
+#define sbh bcm947xx_sbh
+extern void *bcm947xx_sbh;
+#else
+extern void *sbh;
+#endif
+
+extern __u32 sb_gpioin(void *sbh);
+extern __u32 sb_gpiointpolarity(void *sbh, __u32 mask, __u32 val, __u8 prio);
+extern __u32 sb_gpiointmask(void *sbh, __u32 mask, __u32 val, __u8 prio);
+extern __u32 sb_gpioouten(void *sbh, __u32 mask, __u32 val, __u8 prio);
+extern __u32 sb_gpioout(void *sbh, __u32 mask, __u32 val, __u8 prio);
+
+#define gpioin() sb_gpioin(sbh)
+#define gpiointpolarity(mask,val) sb_gpiointpolarity(sbh, mask, val, 0)
+#define gpiointmask(mask,val) sb_gpiointmask(sbh, mask, val, 0)
+#define gpioouten(mask,val) sb_gpioouten(sbh, mask, val, 0)
+#define gpioout(mask,val) sb_gpioout(sbh, mask, val, 0)
+
+#elif defined(BCMGPIO)
+
+#define sbh bcm947xx_sbh
+extern void *bcm947xx_sbh;
+extern __u32 sb_gpioin(void *sbh);
+extern __u32 sb_gpiointpolarity(void *sbh, __u32 mask, __u32 val);
+extern __u32 sb_gpiointmask(void *sbh, __u32 mask, __u32 val);
+extern __u32 sb_gpioouten(void *sbh, __u32 mask, __u32 val);
+extern __u32 sb_gpioout(void *sbh, __u32 mask, __u32 val);
+
+#define gpioin() sb_gpioin(sbh)
+#define gpiointpolarity(mask,val) sb_gpiointpolarity(sbh, mask, val)
+#define gpiointmask(mask,val) sb_gpiointmask(sbh, mask, val)
+#define gpioouten(mask,val) sb_gpioouten(sbh, mask, val)
+#define gpioout(mask,val) sb_gpioout(sbh, mask, val)
+
+#else
+#error Unsupported/unknown GPIO configuration
+#endif
+
+#endif /* __GPIO_H */