mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-28 15:13:31 +08:00
bcee8d6764
At present if CONFIG_SPL_GPIO_SUPPORT is enabled then the GPIO uclass is included in SPL/TPL without any control for boards. Some boards may want to disable this to reduce code size where GPIOs are not needed in SPL or TPL. Add a new Kconfig option to permit this. Default it to 'y' so that existing boards work correctly. Change existing uses of CONFIG_DM_GPIO to CONFIG_IS_ENABLED(DM_GPIO) to preserve the current behaviour. Also update the 74x164 GPIO driver since it cannot build with SPL. This allows us to remove the hacks in config_uncmd_spl.h and Makefile.uncmd_spl (eventually those files should be removed). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
42 lines
820 B
C
42 lines
820 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
|
|
#ifndef _GPIO_DA8XX_DEFS_H_
|
|
#define _GPIO_DA8XX_DEFS_H_
|
|
|
|
struct davinci_gpio {
|
|
unsigned int dir;
|
|
unsigned int out_data;
|
|
unsigned int set_data;
|
|
unsigned int clr_data;
|
|
unsigned int in_data;
|
|
unsigned int set_rising;
|
|
unsigned int clr_rising;
|
|
unsigned int set_falling;
|
|
unsigned int clr_falling;
|
|
unsigned int intstat;
|
|
};
|
|
|
|
struct davinci_gpio_bank {
|
|
int num_gpio;
|
|
unsigned int irq_num;
|
|
unsigned int irq_mask;
|
|
unsigned long *in_use;
|
|
struct davinci_gpio *base;
|
|
};
|
|
|
|
#define GPIO_NAME_SIZE 20
|
|
#define MAX_NUM_GPIOS 144
|
|
#define GPIO_BIT(gp) ((gp) & 0x1F)
|
|
|
|
#if CONFIG_IS_ENABLED(DM_GPIO)
|
|
|
|
/* Information about a GPIO bank */
|
|
struct davinci_gpio_platdata {
|
|
int bank_index;
|
|
ulong base; /* address of registers in physical memory */
|
|
const char *port_name;
|
|
};
|
|
#endif
|
|
|
|
#endif
|