mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 21:13:48 +00:00
e1fff66079
The mpc832x has GPIOs handled by the QUICC Engine. The registers are different from the one for the non QE mpc83xx GPIOs. Implement a GPIO driver for those. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
35 lines
730 B
C
35 lines
730 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
|
|
#ifndef _MPC83XX_GPIO_H_
|
|
#define _MPC83XX_GPIO_H_
|
|
|
|
/*
|
|
* The MCP83xx's 1-2 GPIO controllers each with 32 bits.
|
|
*/
|
|
#if defined(CONFIG_ARCH_MPC8313) || defined(CONFIG_ARCH_MPC8308)
|
|
#define MPC83XX_GPIO_CTRLRS 1
|
|
#elif defined(CONFIG_ARCH_MPC834X) || defined(CONFIG_ARCH_MPC837X)
|
|
#define MPC83XX_GPIO_CTRLRS 2
|
|
#else
|
|
#define MPC83XX_GPIO_CTRLRS 0
|
|
#endif
|
|
|
|
#define MAX_NUM_GPIOS (32 * MPC83XX_GPIO_CTRLRS)
|
|
|
|
struct mpc8xxx_gpio_plat {
|
|
ulong addr;
|
|
unsigned long size;
|
|
uint ngpios;
|
|
};
|
|
|
|
struct qe_gpio_plat {
|
|
ulong addr;
|
|
unsigned long size;
|
|
};
|
|
|
|
#ifndef DM_GPIO
|
|
void mpc83xx_gpio_init_f(void);
|
|
void mpc83xx_gpio_init_r(void);
|
|
#endif /* DM_GPIO */
|
|
|
|
#endif /* MPC83XX_GPIO_H_ */
|