[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