On 01/18/2013 05:01 PM, Stephen Warren wrote: > On 01/18/2013 02:12 PM, Tom Warren wrote: >> This provides SPL support for T114 boards - AVP early init, plus >> CPU (A15) init/jump to main U-Boot. > >> +void powerup_cpus(void) >> +{ >> + debug("powerup_cpus entry\n"); >> + >> + /* Are we booting to the fast cluster? */ >> + if (get_cluster_id() == 0) { >> + debug("powerup_cpus entry: G cluster\n"); >> + /* Power up the fast cluster rail partition */ >> + power_partition(CRAIL, CRAILID); >> + >> + /* Power up the fast cluster non-CPU partition */ >> + power_partition(C0NC, C0NCID); >> + >> + /* Power up the fast cluster CPU0 partition */ >> + power_partition(CE0, CE0ID); >> + } else { >> + debug("powerup_cpus entry: LP cluster\n"); >> + /* Power up the slow cluster non-CPU partition */ >> + power_partition(C1NC, C1NCID); >> + >> + /* Power up the slow cluster CPU partition */ >> + power_partition(CELP, CELPID); >> + } >> +} > > I strongly believe we should determine why that is needed rather than > blindly upstreaming it.
Thinking about this more, this makes even less sense. When Tegra boots, code runs on the AVP. That code is U-Boot. U-Boot then boots the A15 cores, and hence U-Boot is what decides whether to boot the LP or G cluster; it doesn't follow some decision by some other SW since there is no other SW. The only possible exception to this might be resume from some low-power state where you want to restart the same A15 cluster as was running prior to entering sleep. But that would require the flow controller register read by get_cluster_id() to be in an always-on power domain. I'm not sure if that's true or not. (If it isnt', presumably the power-on state would always be static, hence there would be no need to read the register). _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot