[brcm63xx] bcm6345 fixes from AndyI
[openwrt.git] / target / linux / brcm63xx / files / include / asm-mips / mach-bcm63xx / bcm63xx_gpio.h
index 7f5d8e8..43d4da0 100644 (file)
@@ -5,8 +5,20 @@
 
 int __init bcm63xx_gpio_init(void);
 
-/* all helpers will BUG() if gpio count is >= 37. */
-#define BCM63XX_GPIO_COUNT     37
+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.020421 seconds and 4 git commands to generate.