xref: /linux/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h (revision 24bce201d79807b668bf9d9e0aca801c5c0d5f78)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef BCM63XX_GPIO_H
3 #define BCM63XX_GPIO_H
4 
5 #include <linux/init.h>
6 #include <bcm63xx_cpu.h>
7 
8 int __init bcm63xx_gpio_init(void);
9 
10 static inline unsigned long bcm63xx_gpio_count(void)
11 {
12 	switch (bcm63xx_get_cpu_id()) {
13 	case BCM6328_CPU_ID:
14 		return 32;
15 	case BCM3368_CPU_ID:
16 		return 40;
17 	case BCM6338_CPU_ID:
18 		return 8;
19 	case BCM6345_CPU_ID:
20 		return 16;
21 	case BCM6358_CPU_ID:
22 	case BCM6368_CPU_ID:
23 		return 38;
24 	case BCM6362_CPU_ID:
25 		return 48;
26 	case BCM6348_CPU_ID:
27 	default:
28 		return 37;
29 	}
30 }
31 
32 #define BCM63XX_GPIO_DIR_OUT	0x0
33 #define BCM63XX_GPIO_DIR_IN	0x1
34 
35 #endif /* !BCM63XX_GPIO_H */
36