On Wed, 2015-08-12 at 00:15 -0500, Wang Dongsheng-B40534 wrote: > Hi Scott, > > > -----Original Message----- > > From: Wood Scott-B07421 > > Sent: Wednesday, August 12, 2015 12:55 PM > > To: Wang Dongsheng-B40534 > > Cc: Sun York-R58495; u-boot@lists.denx.de > > Subject: Re: [PATCH v2] powerpc/fsl: support low power boot for e500 and > > later > > > > On Tue, 2015-08-11 at 15:15 +0800, Dongsheng Wang wrote: > > > From: Wang Dongsheng <dongsheng.w...@freescale.com> > > > > > > low power boot means u-boot will put non-boot cpus into a low power > > > status. Non-boot cpus don't need any more spin wait. e500, e500v2 will > > > going to DOZE status. e500mc, e5500, e6500 will going to PW10 state. > > > > > > e500/e500v2 will be kicked up by MPIC-IPI, e500mc later will be kicked > > > up > > > by doorbell. > > > > > > This feature tested on: > > > POWER UP TEST: > > > P1022DS(e500v2),96k times. > > > P4080(e500mc), 110k times. > > > T1024(e5500), 83k times. > > > T4240(e6500), 150k times. > > > > > > CPU HOTPLUG TEST: > > > P1022DS(e500v2),1.4 million times. > > > P4080(e500mc), 1.8 million times. > > > T1024(e5500), 1.3 million times. > > > T4240(e6500), 1.1 million times. > > > > > > Signed-off-by: Wang Dongsheng <dongsheng.w...@freescale.com> > > > --- > > > *V2* > > > Add: > > > Add Config option to select Boot Method, Boot by SPIN TABLE or Boot > > > By > > > LOW POWER. > > > The default boot method is SPIN TABLE. > > > > > > Modify: > > > Rebase code to compatible with spin. > > > > > > Delete: > > > Delete e6500rev2 PW20 state. > > > > > > The default boot method SPIN TABLE has tested on last kernel. The low > > > power > > > boot > > > method need add a kernel patch to support. Now PPC smp cpu boot, cpu > > > hotplug, > > > sleep, and deep sleep patches is rebasing for upstream, after ppc smp > > > cpu > > > boot > > > upstreamed i will commit a kernel patch to complete support low power > > > boot > > > method. > > > > > > diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig > > > b/arch/powerpc/cpu/mpc85xx/Kconfig > > > index 3e8d0b1..9c81d97 100644 > > > --- a/arch/powerpc/cpu/mpc85xx/Kconfig > > > +++ b/arch/powerpc/cpu/mpc85xx/Kconfig > > > @@ -199,3 +199,26 @@ source "board/xes/xpedite550x/Kconfig" > > > source "board/Arcturus/ucp1020/Kconfig" > > > > > > endmenu > > > + > > > +menu "mpc85xx CPU Boot Method" > > > + depends on MPC85xx > > > + > > > +choice > > > + prompt "Boot select" > > > + default BOOT_BY_SPIN > > > + > > > +config BOOT_BY_SPIN > > > + bool "Spin boot cpus" > > > + help > > > + Non-boot cpus will be falled in a spin state when U-boot > > > + started up. > > > + > > > +config BOOT_BY_LOW_POWER > > > + bool "Low power boot cpus" > > > + help > > > + Non-boot cpus will be falled in a low power state when U-boot > > > + started up. > > > + > > > +endchoice > > > > I was going to say that this could be made dynamically configurable by > > always > > putting the cores into low power mode, and then waking them at bootm time > > if > > the spin table is chosen in the environment -- but if we can do that, we > > can > > also just leave the secondary cpus in holdoff until bootm. > > > > At that point, we might as well just always use the spin table because the > > time from bootm to the OS releasing the secondaries should be small. > > > Yes, if all of cpus will enable in kernel. But in some cases we do not > enable all > the CPU in the kernel, so we need to push them to low power state.
If you don't plan to release a CPU in the OS, tell U-Boot to keep it disabled. -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot