linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: nsekhar@ti.com (Sekhar Nori)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: davinci: turn off DDR PHY when entering deep sleep
Date: Mon, 21 May 2012 23:08:37 +0530	[thread overview]
Message-ID: <4FBA7D9D.6060202@ti.com> (raw)
In-Reply-To: <1336672352-23191-1-git-send-email-marcus.folkesson@gmail.com>

Hi Marcus,

Thanks for the patch.

On 5/10/2012 11:22 PM, Marcus Folkesson wrote:
> Deepsleep is the most power saving state on the davinci-platform.
> The DDR PHY consumes about 25mW and should be turned off in this low
> power state.
> 
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
> ---
>  arch/arm/mach-davinci/include/mach/memory.h |    2 ++
>  arch/arm/mach-davinci/sleep.S               |   10 ++++++++++
>  2 files changed, 12 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-davinci/include/mach/memory.h b/arch/arm/mach-davinci/include/mach/memory.h
> index 7873194..1b1b8ac 100644
> --- a/arch/arm/mach-davinci/include/mach/memory.h
> +++ b/arch/arm/mach-davinci/include/mach/memory.h

This is moved to arch/arm/mach-davinci/include/mach/ddr2.h in current
kernel.

> @@ -36,6 +36,8 @@
>  #define DDR2_MCLKSTOPEN_BIT	BIT(30)
>  #define DDR2_LPMODEN_BIT	BIT(31)
>  
> +#define DDR2_DRPHYC1R_OFFSET 	0xe4
> +#define DDR_PWRDNEN_BIT 		BIT(6)
>  /*
>   * Increase size of DMA-consistent memory region
>   */
> diff --git a/arch/arm/mach-davinci/sleep.S b/arch/arm/mach-davinci/sleep.S
> index 5f1e045..30713b2 100644
> --- a/arch/arm/mach-davinci/sleep.S
> +++ b/arch/arm/mach-davinci/sleep.S
> @@ -57,6 +57,11 @@ ENTRY(davinci_cpu_suspend)
>  
>  	ldmia	r0, {r0-r4}
>  
> +	/* Turn PHY off */
> +	ldr	ip, [r0, #DDR2_DRPHYC1R_OFFSET]
> +	orr	ip, ip, #DDR_PWRDNEN_BIT 	
> +	str	ip, [r0, #DDR2_DRPHYC1R_OFFSET]

Current TRM (section 14.2.13.1) specifies that this bit be set during
DDR initialization sequence itself (done in UBL or U-Boot/SPL). I am
checking with folks from the TI design team on whether it can be done
later on as part of the DeepSleep sequence.

It looks like IOPWRDN bit in VTPIO_CTL also needs to be set for this
configuration take effect. You probably did not have to do it because
the bootloader you are using already has this set?

How much testing has this patch undergone? Have you tested it across
multiple suspend-resume cycles? How much does the power consumed by DDR
PHY go down by (and which type of DDR)?

Thanks,
Sekhar

  reply	other threads:[~2012-05-21 17:38 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <marcus.folkesson@gmail.com>
2012-05-10 17:52 ` [PATCH] ARM: davinci: turn off DDR PHY when entering deep sleep Marcus Folkesson
2012-05-21 17:38   ` Sekhar Nori [this message]
2012-05-24 11:46     ` Marcus Folkesson
2012-05-24 17:41       ` Sekhar Nori
2018-02-09 19:27 ` [PATCH 0/7] watchdog: make use of timeout-secs Marcus Folkesson
2018-02-09 19:27   ` [PATCH 1/7] watchdog: sama5d4: make use of timeout-secs provided in devicetree Marcus Folkesson
2018-02-09 19:32     ` Marcus Folkesson
2018-02-09 22:38     ` Guenter Roeck
2018-02-11 17:38     ` [1/7] " Guenter Roeck
2018-02-09 19:27   ` [PATCH 2/7] watchdog: sunxi: allow setting timeout " Marcus Folkesson
2018-02-09 22:39     ` Guenter Roeck
2018-02-09 19:27   ` [PATCH 3/7] watchdog: sirfsoc: " Marcus Folkesson
2018-02-09 22:40     ` Guenter Roeck
2018-02-09 19:27   ` [PATCH 4/7] watchdog: pnx4008: make use of timeout-secs provided " Marcus Folkesson
2018-02-09 22:41     ` Guenter Roeck
2018-02-09 22:43     ` Guenter Roeck
2018-02-09 19:27   ` [PATCH 5/7] watchdog: mtk: allow setting timeout " Marcus Folkesson
2018-02-09 22:43     ` Guenter Roeck
2018-02-09 19:27   ` [PATCH 6/7] watchdog: meson: " Marcus Folkesson
2018-02-09 22:48     ` Guenter Roeck
2018-02-09 23:19       ` Alexandre Belloni
2018-02-10  0:04         ` Guenter Roeck
2018-02-09 19:27   ` [PATCH 7/7] watchdog: coh901327: make use of timeout-secs provided " Marcus Folkesson
2018-02-09 22:52     ` Guenter Roeck
2018-02-10  8:54       ` Marcus Folkesson

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=4FBA7D9D.6060202@ti.com \
    --to=nsekhar@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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;
as well as URLs for NNTP newsgroup(s).