public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] powerpc/fsl: support low power boot for e500 and later
Date: Tue, 11 Aug 2015 23:54:58 -0500	[thread overview]
Message-ID: <1439355298.4099.72.camel@freescale.com> (raw)
In-Reply-To: <1439277343-13839-1-git-send-email-dongsheng.wang@freescale.com>

On Tue, 2015-08-11 at 15:15 +0800, Dongsheng Wang wrote:
> From: Wang Dongsheng <dongsheng.wang@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.wang@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.

-Scott

  reply	other threads:[~2015-08-12  4:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11  7:15 [U-Boot] [PATCH v2] powerpc/fsl: support low power boot for e500 and later Dongsheng Wang
2015-08-12  4:54 ` Scott Wood [this message]
2015-08-12  5:15   ` Wang Dongsheng
2015-08-12  5:17     ` Scott Wood
2015-08-12  5:50       ` Wang Dongsheng
2015-08-12  5:59         ` Scott Wood

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1439355298.4099.72.camel@freescale.com \
    --to=scottwood@freescale.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox