Hello Lokesh,

Am 24.06.2013 15:15, schrieb Lokesh Vutla:
> From: Heiko Schocher <h...@denx.de>
> 
> s_init has the same outline for all the AM33xx based
> board. So making it generic.
> This also helps in addition of new Soc with minimal changes.
> 
> Signed-off-by: Lokesh Vutla <lokeshvu...@ti.com>
> Signed-off-by: Heiko Schocher <h...@denx.de>
> Signed-off-by: Tom Rini <tr...@ti.com>
> ---
>  arch/arm/cpu/armv7/am33xx/board.c                |   46 +++++++++++++--
>  arch/arm/cpu/armv7/am33xx/clock_ti814x.c         |    6 ++
>  arch/arm/cpu/armv7/am33xx/emif4.c                |    6 +-
>  arch/arm/include/asm/arch-am33xx/clocks_am33xx.h |    6 +-
>  arch/arm/include/asm/arch-am33xx/sys_proto.h     |    5 +-
>  board/isee/igep0033/board.c                      |   49 +++-------------
>  board/phytec/pcm051/board.c                      |   48 +++-------------
>  board/ti/am335x/board.c                          |   52 +++--------------
>  board/ti/ti814x/evm.c                            |   67 
> +++-------------------
>  9 files changed, 90 insertions(+), 195 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/am33xx/board.c 
> b/arch/arm/cpu/armv7/am33xx/board.c
> index 1d743d6..3d08673 100644
> --- a/arch/arm/cpu/armv7/am33xx/board.c
> +++ b/arch/arm/cpu/armv7/am33xx/board.c
> @@ -145,7 +145,7 @@ int arch_misc_init(void)
>  }
>  
>  #ifdef CONFIG_SPL_BUILD
> -void rtc32k_enable(void)
> +static void rtc32k_enable(void)
>  {
>       struct rtc_regs *rtc = (struct rtc_regs *)RTC_BASE;
>  
> @@ -161,11 +161,7 @@ void rtc32k_enable(void)
>       writel((1 << 3) | (1 << 6), &rtc->osc);
>  }
>  
> -#define UART_RESET           (0x1 << 1)
> -#define UART_CLK_RUNNING_MASK        0x1
> -#define UART_SMART_IDLE_EN   (0x1 << 0x3)
> -
> -void uart_soft_reset(void)
> +static void uart_soft_reset(void)
>  {
>       struct uart_sys *uart_base = (struct uart_sys *)DEFAULT_UART_BASE;
>       u32 regval;
> @@ -182,4 +178,42 @@ void uart_soft_reset(void)
>       regval |= UART_SMART_IDLE_EN;
>       writel(regval, &uart_base->uartsyscfg);
>  }
> +
> +static void watchdog_disable(void)
> +{
> +     struct wd_timer *wdtimer = (struct wd_timer *)WDT_BASE;
> +
> +     writel(0xAAAA, &wdtimer->wdtwspr);
> +     while (readl(&wdtimer->wdtwwps) != 0x0)
> +             ;
> +     writel(0x5555, &wdtimer->wdtwspr);
> +     while (readl(&wdtimer->wdtwwps) != 0x0)
> +             ;
> +}
>  #endif
> +
> +void s_init(void)
> +{
> +     /*
> +      * Save the boot parameters passed from romcode.
> +      * We cannot delay the saving further than this,
> +      * to prevent overwrites.
> +      */
> +#ifdef CONFIG_SPL_BUILD
> +     save_omap_boot_params();
> +     watchdog_disable();
> +     timer_init();
> +     set_uart_mux_conf();
> +     setup_clocks_for_console();
> +     uart_soft_reset();
> +
> +     gd = &gdata;
> +     preloader_console_init();
> +
> +     prcm_init();
> +     set_mux_conf_regs();
> +     /* Enable RTC32K clock */
> +     rtc32k_enable();

I tried your patches on my three boards. The board with the
rtc32k_enable() problem, did not work with them too :-(

Maybe we make rtc32k_enable() weak in common code, and so
I can make a board specific (dummy) function?

[...]

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to