[U-Boot] [PATCH 05/10 V6] Exynos5420: Add support for 5420 in pinmux and gpio
Minkyu Kang
promsoft at gmail.com
Thu Nov 14 03:46:35 CET 2013
On 13 November 2013 15:04, Rajeshwari Birje <rajeshwari.birje at gmail.com>wrote:
> Hi Minkyu Kang,
>
> Thank you for comments.
>
> On Wed, Nov 13, 2013 at 8:31 AM, Minkyu Kang <promsoft at gmail.com> wrote:
> > Dear Rajeshwari S Shinde,
> >
> >
> > On 29 October 2013 16:23, Rajeshwari S Shinde <rajeshwari.s at samsung.com
> >wrote:
> >
> >> Adds code in pinmux and gpio framework to support Exynos5420.
> >>
> >> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen at samsung.com>
> >> Signed-off-by: Akshay Saraswat <akshay.s at samsung.com>
> >> Signed-off-by: Rajeshwari S Shinde <rajeshwari.s at samsung.com>
> >> Acked-by: Simon Glass <sjg at chromium.org>
> >> ---
> >> Changes in V2:
> >> - None
> >> Changes in V3:
> >> - None
> >> Changes in V4:
> >> - Added correct calculation of gpio based addresses.
> >> Changes in V5:
> >> - None
> >> Changes in V6:
> >> - None
> >> arch/arm/cpu/armv7/exynos/pinmux.c | 241
> >> +++++++++++++++++++++++++++++-
> >> arch/arm/include/asm/arch-exynos/gpio.h | 143 ++++++++++++++++--
> >> arch/arm/include/asm/arch-exynos/periph.h | 3 +
> >> 3 files changed, 372 insertions(+), 15 deletions(-)
> >>
> >> diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c
> >> b/arch/arm/cpu/armv7/exynos/pinmux.c
> >> index 8002bce..417ecae 100644
> >> --- a/arch/arm/cpu/armv7/exynos/pinmux.c
> >> +++ b/arch/arm/cpu/armv7/exynos/pinmux.c
> >> @@ -46,6 +46,41 @@ static void exynos5_uart_config(int peripheral)
> >> }
> >> }
> >>
> >> +static void exynos5420_uart_config(int peripheral)
> >> +{
> >> + struct exynos5420_gpio_part1 *gpio1 =
> >> + (struct exynos5420_gpio_part1
> >> *)samsung_get_base_gpio_part1();
> >> + struct s5p_gpio_bank *bank;
> >> + int i, start, count;
> >> +
> >> + switch (peripheral) {
> >> + case PERIPH_ID_UART0:
> >> + bank = &gpio1->a0;
> >> + start = 0;
> >> + count = 4;
> >> + break;
> >> + case PERIPH_ID_UART1:
> >> + bank = &gpio1->a0;
> >> + start = 4;
> >> + count = 4;
> >> + break;
> >> + case PERIPH_ID_UART2:
> >> + bank = &gpio1->a1;
> >> + start = 0;
> >> + count = 4;
> >> + break;
> >> + case PERIPH_ID_UART3:
> >> + bank = &gpio1->a1;
> >> + start = 4;
> >> + count = 2;
> >> + break;
> >
> > + }
> >>
> >
> > please add blank line.
> will correct this
> >
> >
> >> + for (i = start; i < start + count; i++) {
> >> + s5p_gpio_set_pull(bank, i, GPIO_PULL_NONE);
> >> + s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2));
> >> + }
> >> +}
> >> +
> >> static int exynos5_mmc_config(int peripheral, int flags)
> >> {
> >> struct exynos5_gpio_part1 *gpio1 =
> >> @@ -101,6 +136,70 @@ static int exynos5_mmc_config(int peripheral, int
> >> flags)
> >> return 0;
> >> }
> >>
> >> +static int exynos5420_mmc_config(int peripheral, int flags)
> >> +{
> >> + struct exynos5420_gpio_part3 *gpio3 =
> >> + (struct exynos5420_gpio_part3
> >> *)samsung_get_base_gpio_part3();
> >> + struct s5p_gpio_bank *bank = NULL, *bank_ext = NULL;
> >> + int i, start = 0, gpio_func = 0;
> >>
> >
> > I think we don' have to set to 0 to start and gpio_func.
> Will remove gpio_func, but if I dont set start to 0 I get following error:
>
> pinmux.c: In function ‘exynos_pinmux_config’:
> pinmux.c:173:20: warning: ‘start’ may be used uninitialized in this
> function [-Wmaybe-uninitialized]
> pinmux.c:145:9: note: ‘start’ was declared here
>
because you missing start = 0 at MMC2.
Actually I like to set values explicitly at every conditions instead of
initial value.
It looks more clearly.
Thanks,
Minkyu Kang.
--
from. prom.
www.promsoft.net
More information about the U-Boot
mailing list