xref: /linux/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h (revision 6fdcba32711044c35c0e1b094cbd8f3f0b4472c9)
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 	case BCM6358_CPU_ID:
17 		return 40;
18 	case BCM6338_CPU_ID:
19 		return 8;
20 	case BCM6345_CPU_ID:
21 		return 16;
22 	case BCM6362_CPU_ID:
23 		return 48;
24 	case BCM6368_CPU_ID:
25 		return 38;
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