mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-02 19:03:20 +09:00
ARM: tegra: Initialize timer earlier
A subsequent patch will enable the use of the architected timer on ARMv8. Doing so implies that udelay() will be backed by this timer implementation, and hence the architected timer must be ready when udelay() is first called. The first time udelay() is used is while resetting the debug UART, which happens very early. Make sure that arch_timer_init() is called before that. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
parent
6527268d6e
commit
aa4418770e
@ -196,6 +196,12 @@ void gpio_early_init(void) __attribute__((weak, alias("__gpio_early_init")));
|
|||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
|
/* Do any special system timer/TSC setup */
|
||||||
|
#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
|
||||||
|
if (!tegra_cpu_is_non_secure())
|
||||||
|
#endif
|
||||||
|
arch_timer_init();
|
||||||
|
|
||||||
pinmux_init();
|
pinmux_init();
|
||||||
board_init_uart_f();
|
board_init_uart_f();
|
||||||
|
|
||||||
|
@ -608,12 +608,6 @@ void clock_init(void)
|
|||||||
debug("PLLC = %d\n", pll_rate[CLOCK_ID_CGENERAL]);
|
debug("PLLC = %d\n", pll_rate[CLOCK_ID_CGENERAL]);
|
||||||
debug("PLLD = %d\n", pll_rate[CLOCK_ID_DISPLAY]);
|
debug("PLLD = %d\n", pll_rate[CLOCK_ID_DISPLAY]);
|
||||||
debug("PLLX = %d\n", pll_rate[CLOCK_ID_XCPU]);
|
debug("PLLX = %d\n", pll_rate[CLOCK_ID_XCPU]);
|
||||||
|
|
||||||
/* Do any special system timer/TSC setup */
|
|
||||||
#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
|
|
||||||
if (!tegra_cpu_is_non_secure())
|
|
||||||
#endif
|
|
||||||
arch_timer_init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_avp_clock_source(u32 src)
|
static void set_avp_clock_source(u32 src)
|
||||||
|
Loading…
Reference in New Issue
Block a user