Thread (5 messages) 5 messages, 3 authors, 2013-01-02
STALE4912d

[PATCH] ARM: tegra30: fix power up sequence for boot_secondary

From: Stephen Warren <hidden>
Date: 2012-12-21 21:12:51
Also in: linux-tegra

On 12/21/2012 01:07 AM, Joseph Lo wrote:
On Fri, 2012-12-21 at 00:55 +0800, Stephen Warren wrote:
quoted
On 12/19/2012 07:30 PM, Joseph Lo wrote:
quoted
The power up sequence is different on the cold boot CPU and the CPU
that resumed from the hotplug. For the cold boot CPU, it was been power
gated as default. To power up the cold boot CPU, the power should be
un-gated by un toggling the power gate register manually.

For the CPU that resumed from the hotplug, after un-halted the CPU. The
flow controller will un-gate the power of the CPU. No need to manually
control, just wait the power be resumed and continue the power up
sequence after the CPU power is ready.
...
quoted
Also, it'd be good to explain (or at least briefly reference) the boot
path for a cold-boot CPU and a warm boot CPU; I assume that somehow a
cold boot CPU doesn't execute tegra_secondary_init(), but a warm boot
CPU does?
The boot path was the same. Both of the conditions were booted from
tegra_boot_secondary. Just the power sequence has been different. We add
the code to recover the power up sequence of warm boot CPU.
Ah, I see - tegra20_power_up_cpu() runs first to boot the secondary CPU,
and tegra_secondary_init() runs on the secondary CPU during the boot
process, which then sets tegra_cpu_init_mask which influences what
tegra20_power_up_cpu() does next time around. It'd be useful to say that
in the patch description.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help