X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/f1fc76fbaa626d87c5a42d1ca3d7272e52a0a4a1..d303e45f4bbad9c4fff934cf8f63f33538af8cee:/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h diff --git a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h index 7f5d8e87d..43d4da0b1 100644 --- a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h +++ b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h @@ -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