X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/b7da6044662b62c5b0f8fded77ee85e63632fad1..43bb8183eb10d86dffd1f9413b8db1a3ea5de0a3:/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 72cee75f0..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 @@ -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 + +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