ARM: tegra: jump to maincluster earlier
Subsystems (4)
PATCH 1/1 ARM: tegra: jump to maincluster earlier
There is no point in repeating the board setup on the main cluster. It is done either in the AVP startup path or from a first stage loader.
Signed-off-by Lucas Stach <[email protected]>
--- arch/arm/mach-tegra/include/mach/lowlevel.h | 15 +++++++++------ arch/arm/mach-tegra/tegra_avp_init.c | 3 --- 2 files changed, 9 insertions(+), 9 deletions(-)
arch/arm/mach-tegra/include/mach/lowlevel.h +9 -6
@@ -243,11 +243,20 @@ void tegra_ll_delay_usec(int delay)while ((int )readl (TEGRA_TMRUS_BASE +TIMER_CNTR_1US ) - timeout <0 ); } +/* reset vector for the AVP, to be called from board reset vector */ +void tegra_avp_reset_vector (uint32_t boarddata); + +/* reset vector for the main CPU complex */ +void tegra_maincomplex_entry (void ); +static __always_inline void tegra_cpu_lowlevel_setup(void) {uint32_t r; +if (tegra_cpu_is_maincomplex ()) +tegra_maincomplex_entry (); +/* set the cpu to SVC32 mode */ __asm__ __volatile__("mrs %0, cpsr" :"=r" (r)); r &= ~0x1f ;
@@ -258,10 +267,4 @@ void tegra_cpu_lowlevel_setup(void) tegra_ll_delay_setup(); } -/* reset vector for the AVP, to be called from board reset vector */ -void tegra_avp_reset_vector (uint32_t boarddata); - -/* reset vector for the main CPU complex */ -void tegra_maincomplex_entry (void ); -#endif /* __TEGRA_LOWLEVEL_H */
arch/arm/mach-tegra/tegra_avp_init.c +0 -3
@@ -265,9 +265,6 @@ void tegra_avp_reset_vector(uint32_t boarddata)/* put boarddata in scratch reg, for main CPU to fetch after startup */ writel (boarddata,TEGRA_PMC_BASE +PMC_SCRATCH (10 )); -if (tegra_cpu_is_maincomplex ()) -tegra_maincomplex_entry (); -/* we want to bring up the high performance CPU complex */ if (tegra_get_chiptype () >=TEGRA30 )tegra_cluster_switch_hp ();
Signature · 7 lines
2.1.0 _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Sascha Hauer
AppliedQuoted 4 lines · Lucas Stach
There is no point in repeating the board setup on the main cluster. It is done either in the AVP startup path or from a first stage loader.
Signed-off-by Lucas Stach <[email protected]>
Applied, thanks
Sascha
Signature · 9 lines
Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox