From: Joakim Tjernlund <joakim.tjernlund@transmode.se>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v1 0/7] Enable high speed and heavy load for DDR4 for LSCH3
Date: Thu, 5 Nov 2015 09:55:18 +0000 [thread overview]
Message-ID: <1446717317.21216.131.camel@transmode.se> (raw)
In-Reply-To: <DM2PR03MB57442D557F7409E3425AF13FA290@DM2PR03MB574.namprd03.prod.outlook.com>
On Thu, 2015-11-05 at 08:23 +0000, Yuantian Tang wrote:
> Hi Jocke,
>
> we achieved deep sleep mode that did exactly what you asked for.
> If waken up from deep sleep, soc will resume from uboot and re-initialized DDR controller with contents
> untouched.
> Please refer to drivers/ddr/fsl/fsl_ddr_gen4.c and look at DEEP_SLEEP related code.
Looking at it now and it looks the same as for ddr3? Some questions though:
289 if (is_warm_boot()) {
289 /* enter self-refresh */
290 temp_sdram_cfg = ddr_in32(&ddr->sdram_cfg_2);
291 temp_sdram_cfg |= SDRAM_CFG2_FRC_SR;
292 ddr_out32(&ddr->sdram_cfg_2, temp_sdram_cfg);
Why do you need to force SR here? The DDR RAM must already be in SR at this point?
I come from CPU reset state so my DDR controller has HW default values so
this does not feel safe.
293 /* do board specific memory setup */
294 board_mem_sleep_setup();
295
296 temp_sdram_cfg = (ddr_in32(&ddr->sdram_cfg) | SDRAM_CFG_BI);
SDRAM_CFG_BI skips a lot(all?) init of DDR RAM. What if you want to change some DDR RAM
timing/config due to a bug? Then you would have to force a cold start.
Do you use ECC? Seems to be some issues with ECC if you skip D_INIT
Jocke
>
> Regards,
> Yuantian
>
> > -----Original Message-----
> > From: Joakim Tjernlund [mailto:joakim.tjernlund at transmode.se]
> > Sent: Thursday, November 05, 2015 4:04 PM
> > To: Sun York-R58495 <yorksun@freescale.com>; u-boot at lists.denx.de
> > Cc: curt at cumulusnetworks.com; Sharma Bhupesh-B45370
> > <bhupesh.sharma@freescale.com>; trini at konsulko.com;
> > l.majewski at samsung.com; Tang Yuantian-B29983
> > <Yuantian.Tang@freescale.com>; Kushwaha Prabhakar-B32579
> > <prabhakar@freescale.com>; Liu Shengzhou-B36685
> > <Shengzhou.Liu@freescale.com>; yamada.m at jp.panasonic.com
> > Subject: Re: [PATCH v1 0/7] Enable high speed and heavy load for DDR4 for
> > LSCH3
> >
> > On Wed, 2015-11-04 at 10:03 -0800, York Sun wrote:
> > > This patch set revises the DDR driver to support higher speed for DDR4
> > > under heavy load (two dual-rank DIMMs) for four-chipselect interleaving.
> > > Single quad-rank DIMM is not supported yet.
> >
> > Hi York
> >
> > Seeing these patches reminds me about something I have been mening to
> > ask, Is it possible init the ddr controller/ddr ram (using ECC also) but still
> > retain (parts of) memory contents?
> >
> > I am looking at keeping data at the end of memory when performing a warm
> > start, but still init the controll/ddr ram (without D_INIT set).
> > This way one could pick up any changes to DDR timing if needed.
> > Before reboot, ddr ram is set to Self Refresh(SR).
> >
> > Jocke
next prev parent reply other threads:[~2015-11-05 9:55 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-04 18:03 [U-Boot] [PATCH v1 0/7] Enable high speed and heavy load for DDR4 for LSCH3 York Sun
2015-11-04 18:03 ` [U-Boot] [PATCH v1 1/7] driver/ddr/fsl: Update DDR4 RTT values York Sun
2015-11-04 18:03 ` [U-Boot] [PATCH v1 2/7] driver/ddr/fsl: Update DDR4 MR6 for Vref range York Sun
2015-11-04 18:03 ` [U-Boot] [PATCH v1 3/7] driver/ddr/fsl: Update MR5 RTT park York Sun
2015-11-04 18:03 ` [U-Boot] [PATCH v1 4/7] driver/ddr/fsl: Update workaround for A008511 for vref range York Sun
2015-11-04 18:03 ` [U-Boot] [PATCH v1 5/7] driver/ddr/fsl: Update timing config for heavy load York Sun
2015-11-04 18:03 ` [U-Boot] [PATCH v1 6/7] armv8/ls2085aqds: Update DDR settings for four chip-select case York Sun
2015-11-04 18:03 ` [U-Boot] [PATCH v1 7/7] armv8/ls2085ardb: " York Sun
2015-11-05 8:03 ` [U-Boot] [PATCH v1 0/7] Enable high speed and heavy load for DDR4 for LSCH3 Joakim Tjernlund
2015-11-05 8:23 ` Yuantian Tang
2015-11-05 9:55 ` Joakim Tjernlund [this message]
2015-11-05 17:42 ` York Sun
2015-11-05 18:19 ` Joakim Tjernlund
2015-11-05 18:29 ` York Sun
2015-11-05 19:53 ` Joakim Tjernlund
2015-11-05 20:47 ` York Sun
2015-11-12 7:35 ` Joakim Tjernlund
2015-11-12 16:43 ` York Sun
2015-11-06 2:24 ` Yuantian Tang
2015-11-06 11:10 ` Joakim Tjernlund
2015-12-15 0:41 ` York Sun
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=1446717317.21216.131.camel@transmode.se \
--to=joakim.tjernlund@transmode.se \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.