[U-Boot] [PATCH v3 4/5] ARM: OMAP4/5: Add generic board detection hook

Lokesh Vutla a0131933 at ti.com
Thu Nov 5 06:49:05 CET 2015



On Thursday 05 November 2015 03:30 AM, Steve Kipisz wrote:
> Many TI EVMs have capability to store relevant board information
> such as DDR description in EEPROM. Further many pad configuration
> variations can occur as part of revision changes in the platform.
> In-order to support these at runtime, we for a board detection hook
> which is available for override from board files that may desire to do
> so.
> 
> NOTE: All TI EVMs are capable of detecting board information based on
> early clocks that are configured. However, in case of additional needs
> this can be achieved within the override logic from within the board
> file.

Reviewed-by: Lokesh Vutla <lokeshvutla at ti.com>

Thanks and regards,
Lokesh

> 
> Signed-off-by: Steve Kipisz <s-kipisz2 at ti.com>
> Reviewed-by: Tom Rini <trini at konsulko.com>
> ---
> v3 Based on:
>  master     83bf0057 arm: at91: reworked meesc board support
> 
> Changes in v3 (since v2):
>  - No changes
> 
> v2:  http://marc.info/?t=144655344600006&r=1&w=2
>       (mailing list squashed original submission)
> 
> Changes in v2:
>  - New patch
> 
>  arch/arm/cpu/armv7/omap-common/hwinit-common.c | 11 +++++++++++
>  arch/arm/include/asm/arch-omap4/sys_proto.h    |  1 +
>  arch/arm/include/asm/arch-omap5/sys_proto.h    |  1 +
>  3 files changed, 13 insertions(+)
> 
> diff --git a/arch/arm/cpu/armv7/omap-common/hwinit-common.c b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
> index 91f2dead364b..9e9376d0e6e6 100644
> --- a/arch/arm/cpu/armv7/omap-common/hwinit-common.c
> +++ b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
> @@ -97,6 +97,16 @@ int arch_cpu_init(void)
>  }
>  #endif /* CONFIG_ARCH_CPU_INIT */
>  
> +/**
> + * do_board_detect() - Detect board description
> + *
> + * Function to detect board description. This is expected to be
> + * overridden in the SoC family board file where desired.
> + */
> +void __weak do_board_detect(void)
> +{
> +}
> +
>  /*
>   * Routine: s_init
>   * Description: Does early system init of watchdog, muxing,  andclocks
> @@ -128,6 +138,7 @@ void s_init(void)
>  	do_io_settings();
>  #endif
>  	setup_early_clocks();
> +	do_board_detect();
>  	prcm_init();
>  }
>  
> diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h
> index 26e9a194f036..fbb52093c65a 100644
> --- a/arch/arm/include/asm/arch-omap4/sys_proto.h
> +++ b/arch/arm/include/asm/arch-omap4/sys_proto.h
> @@ -39,6 +39,7 @@ u32 wait_on_value(u32, u32, void *, u32);
>  void sdelay(unsigned long);
>  void setup_early_clocks(void);
>  void prcm_init(void);
> +void do_board_detect(void);
>  void bypass_dpll(u32 const base);
>  void freq_update_core(void);
>  u32 get_sys_clk_freq(void);
> diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h
> index 18902628739b..23a33cb233bb 100644
> --- a/arch/arm/include/asm/arch-omap5/sys_proto.h
> +++ b/arch/arm/include/asm/arch-omap5/sys_proto.h
> @@ -50,6 +50,7 @@ u32 wait_on_value(u32, u32, void *, u32);
>  void sdelay(unsigned long);
>  void setup_early_clocks(void);
>  void prcm_init(void);
> +void do_board_detect(void);
>  void bypass_dpll(u32 const base);
>  void freq_update_core(void);
>  u32 get_sys_clk_freq(void);
> 


More information about the U-Boot mailing list