summaryrefslogtreecommitdiff
path: root/openwrt/target/linux/package/switch/src/gpio.h
diff options
context:
space:
mode:
authorWaldemar Brodkorb <mail@waldemar-brodkorb.de>2005-12-25 14:18:55 +0000
committerWaldemar Brodkorb <mail@waldemar-brodkorb.de>2005-12-25 14:18:55 +0000
commitb659ffeda93d20f7a34b45e7a67a7c64c250d682 (patch)
tree54c8237804b69b159759a7c55715068181518c98 /openwrt/target/linux/package/switch/src/gpio.h
parenta5a4129e57d412938b7a9c2f6e0bf4863d3a48cc (diff)
downloadmtk-20170518-b659ffeda93d20f7a34b45e7a67a7c64c250d682.zip
mtk-20170518-b659ffeda93d20f7a34b45e7a67a7c64c250d682.tar.gz
mtk-20170518-b659ffeda93d20f7a34b45e7a67a7c64c250d682.tar.bz2
first try to integrate nbds great new switch drivers for 2.4/2.6 with full vlan support for Netgear and Linksys routers, robo and adm switch, tada
SVN-Revision: 2776
Diffstat (limited to 'openwrt/target/linux/package/switch/src/gpio.h')
-rw-r--r--openwrt/target/linux/package/switch/src/gpio.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/openwrt/target/linux/package/switch/src/gpio.h b/openwrt/target/linux/package/switch/src/gpio.h
new file mode 100644
index 0000000..95cf670
--- /dev/null
+++ b/openwrt/target/linux/package/switch/src/gpio.h
@@ -0,0 +1,39 @@
+#ifndef __GPIO_H
+#define __GPIO_H
+
+#if defined(BCMGPIO2)
+
+extern void *sbh;
+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 */