X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/aedeeb1874e872189927c3c73cc039a2eb250586..07537ed74301efdc7c26faf1acb4aa175c463696:/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 31145dfa6..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,12 +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 -void bcm63xx_gpio_set_dataout(int gpio, int val); -int bcm63xx_gpio_get_datain(int gpio); -void bcm63xx_gpio_set_direction(int gpio, int dir); +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