[brcm63xx] add experimental support for 2.6.28.10, tested on bcm6338
[openwrt.git] / target / linux / brcm63xx / files / include / asm-mips / mach-bcm63xx / bcm63xx_gpio.h
index 72cee75..43d4da0 100644 (file)
@@ -1,8 +1,24 @@
 #ifndef BCM63XX_GPIO_H
 #define BCM63XX_GPIO_H
 
-/* all helpers will BUG() if gpio count is >= 37. */
-#define BCM63XX_GPIO_COUNT     37
+#include <linux/init.h>
+
+int __init bcm63xx_gpio_init(void);
+
+static inline unsigned long bcm63xx_gpio_count(void)
+{
+       switch (bcm63xx_get_cpu_id()) {
+       case BCM6358_CPU_ID:
+               return 40;
+       case BCM6338_CPU_ID:
+               return 8;
+       case BCM6345_CPU_ID:
+               return 16;
+       case BCM6348_CPU_ID:
+       default:
+               return 37;
+       }
+}
 
 #define GPIO_DIR_OUT   0x0
 #define GPIO_DIR_IN    0x1
This page took 0.025987 seconds and 4 git commands to generate.