blob: 0a9891f7580de557e702e7c4708139705b27605e [file] [log] [blame]
Maxime Bizone7300d02009-08-18 13:23:37 +01001#ifndef BCM63XX_GPIO_H
2#define BCM63XX_GPIO_H
3
4#include <linux/init.h>
Jonas Gorski442209f2012-05-15 17:47:52 +02005#include <bcm63xx_cpu.h>
Maxime Bizone7300d02009-08-18 13:23:37 +01006
7int __init bcm63xx_gpio_init(void);
8
9static inline unsigned long bcm63xx_gpio_count(void)
10{
11 switch (bcm63xx_get_cpu_id()) {
Jonas Gorskie5766ae2012-07-24 16:33:12 +020012 case BCM6328_CPU_ID:
13 return 32;
Maxime Bizone7300d02009-08-18 13:23:37 +010014 case BCM6358_CPU_ID:
15 return 40;
Florian Fainellid1b28752010-03-01 23:36:32 +010016 case BCM6338_CPU_ID:
17 return 8;
18 case BCM6345_CPU_ID:
19 return 16;
Maxime Bizon04712f32011-11-04 19:09:35 +010020 case BCM6368_CPU_ID:
21 return 38;
Maxime Bizone7300d02009-08-18 13:23:37 +010022 case BCM6348_CPU_ID:
23 default:
24 return 37;
25 }
26}
27
Florian Fainelli3e1bf292010-05-04 10:38:57 +020028#define BCM63XX_GPIO_DIR_OUT 0x0
29#define BCM63XX_GPIO_DIR_IN 0x1
Maxime Bizone7300d02009-08-18 13:23:37 +010030
31#endif /* !BCM63XX_GPIO_H */