blob: 35baa1a60a64547a7594aa30e91ee7fedcc1f101 [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;
Jonas Gorski2c8aaf72013-03-21 14:03:17 +000020 case BCM6362_CPU_ID:
21 return 48;
Maxime Bizon04712f32011-11-04 19:09:35 +010022 case BCM6368_CPU_ID:
23 return 38;
Maxime Bizone7300d02009-08-18 13:23:37 +010024 case BCM6348_CPU_ID:
25 default:
26 return 37;
27 }
28}
29
Florian Fainelli3e1bf292010-05-04 10:38:57 +020030#define BCM63XX_GPIO_DIR_OUT 0x0
31#define BCM63XX_GPIO_DIR_IN 0x1
Maxime Bizone7300d02009-08-18 13:23:37 +010032
33#endif /* !BCM63XX_GPIO_H */