1 /* SPDX-License-Identifier: GPL-2.0+ */
2 
3 #ifndef _MPC83XX_GPIO_H_
4 #define _MPC83XX_GPIO_H_
5 
6 /*
7  * The MCP83xx's 1-2 GPIO controllers each with 32 bits.
8  */
9 #if defined(CONFIG_ARCH_MPC8313) || defined(CONFIG_ARCH_MPC8308)
10 #define MPC83XX_GPIO_CTRLRS 1
11 #elif defined(CONFIG_ARCH_MPC834X) || defined(CONFIG_ARCH_MPC837X) || \
12 	defined(CONFIG_ARCH_MPC8309)
13 #define MPC83XX_GPIO_CTRLRS 2
14 #else
15 #define MPC83XX_GPIO_CTRLRS 0
16 #endif
17 
18 #define MAX_NUM_GPIOS (32 * MPC83XX_GPIO_CTRLRS)
19 
20 struct mpc8xxx_gpio_plat {
21        ulong addr;
22        unsigned long size;
23        uint ngpios;
24 };
25 
26 #ifndef DM_GPIO
27 void mpc83xx_gpio_init_f(void);
28 void mpc83xx_gpio_init_r(void);
29 #endif	/* DM_GPIO */
30 
31 #endif	/* MPC83XX_GPIO_H_ */
32