Message ID | 1456338658-5027-7-git-send-email-s-kipisz2@ti.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
On Wed, Feb 24, 2016 at 12:30:57PM -0600, 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. > > Signed-off-by: Steve Kipisz <s-kipisz2@ti.com> > Reviewed-by: Tom Rini <trini@konsulko.com> > Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
On Wed, Feb 24, 2016 at 12:30:57PM -0600, Kipisz, Steven 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. > > Signed-off-by: Steve Kipisz <s-kipisz2@ti.com> > Reviewed-by: Tom Rini <trini@konsulko.com> > Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> > Reviewed-by: Tom Rini <trini@konsulko.com> Applied to u-boot/master, thanks!
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);