Fix: drivers/mmc/libmmc.o: In function `mmc_legacy_init': drivers/mmc/pxa_mmc.c:565: undefined reference to `set_GPIO_mode' drivers/mmc/pxa_mmc.c:566: undefined reference to `set_GPIO_mode'
Re-add set_GPIO_mode() which has been removed by commit d10237d275300562bbfecbbe2f59a97cfb9dc180 (PXA: Separate PXA2xx CPU init). Signed-off-by: Anatolij Gustschin <ag...@denx.de> Cc: Marek Vasut <marek.va...@gmail.com> --- arch/arm/cpu/pxa/pxa2xx.c | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/pxa/pxa2xx.c b/arch/arm/cpu/pxa/pxa2xx.c index 09e8177..42fb4fc 100644 --- a/arch/arm/cpu/pxa/pxa2xx.c +++ b/arch/arm/cpu/pxa/pxa2xx.c @@ -299,3 +299,28 @@ void reset_cpu(ulong ignored) for (;;) ; } + +#ifndef CONFIG_CPU_MONAHANS +void set_GPIO_mode(int gpio_mode) +{ + int gpio = gpio_mode & GPIO_MD_MASK_NR; + int fn = (gpio_mode & GPIO_MD_MASK_FN) >> 8; + int val; + + /* This below changes direction setting of GPIO "gpio" */ + val = readl(GPDR(gpio)); + + if (gpio_mode & GPIO_MD_MASK_DIR) + val |= GPIO_bit(gpio); + else + val &= ~GPIO_bit(gpio); + + writel(val, GPDR(gpio)); + + /* This below updates only AF of GPIO "gpio" */ + val = readl(GAFR(gpio)); + val &= ~(0x3 << (((gpio) & 0xf) * 2)); + val |= fn << (((gpio) & 0xf) * 2); + writel(val, GAFR(gpio)); +} +#endif /* CONFIG_CPU_MONAHANS */ -- 1.7.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot