public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: York Sun <yorksun@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] enabling ecc on P2041 and QoreIQ familly not valid for memory >= 4GB
Date: Mon, 22 Sep 2014 10:13:53 -0700	[thread overview]
Message-ID: <542058D1.8040606@freescale.com> (raw)
In-Reply-To: <53FB2DD3.509@kontron.com>

Benoit,

Since you should and you have used the suggested method to initialize ECC, I am
going to close this patch as N/A. I will find some time to clean up the size
variable.

I will follow up with you on the other thread regarding dcache issue.

York


On 08/25/2014 05:35 AM, Benoit Sansoni wrote:
> Hi York,
> 
> Sorry for the delay. I was in holidays. I am back at work today.
> Yes I have tried the other method that you proposed.
> It works perfectly and It seems that this method initialized the ECC in 
> a faster manner.
> 
> I faced a stability issue during ddr initialization. To resolve it I 
> deactivate the autocalibration as recommended in the erratum num A-003474.
> So for me the u-boot release that I am currently using is u-boot-2012.10 
> and in the file u-boot-2012.10/arch/powerpc/cpu/mpc85xx/ddr-gen3.c I 
> modified it
> depending my ddr ram timing :
> 
>      out_be32(&ddr->timing_cfg_3, regs->timing_cfg_3);
>      out_be32(&ddr->timing_cfg_0, regs->timing_cfg_0);
>      out_be32(&ddr->timing_cfg_1, regs->timing_cfg_1);
>      /*dataT = fsl_dbg_timing();*/
>      dataT = 0x9;
>      out_be32(&ddr->timing_cfg_2, (regs->timing_cfg_2 & 0xf07fffff) | 
> (dataT<<23));
>      out_be32(&ddr->sdram_mode, regs->ddr_sdram_mode);
>      out_be32(&ddr->sdram_mode_2, regs->ddr_sdram_mode_2);
>      out_be32(&ddr->sdram_mode_3, regs->ddr_sdram_mode_3);
>      out_be32(&ddr->sdram_mode_4, regs->ddr_sdram_mode_4);
>      out_be32(&ddr->sdram_mode_5, regs->ddr_sdram_mode_5);
>      out_be32(&ddr->sdram_mode_6, regs->ddr_sdram_mode_6);
>      out_be32(&ddr->sdram_mode_7, regs->ddr_sdram_mode_7);
>      out_be32(&ddr->sdram_mode_8, regs->ddr_sdram_mode_8);
>      out_be32(&ddr->sdram_md_cntl, regs->ddr_sdram_md_cntl);
>      out_be32(&ddr->sdram_interval, regs->ddr_sdram_interval);
>      out_be32(&ddr->sdram_data_init, regs->ddr_data_init);
>      out_be32(&ddr->sdram_clk_cntl, regs->ddr_sdram_clk_cntl);
>      out_be32(&ddr->init_addr, regs->ddr_init_addr);
>      out_be32(&ddr->init_ext_addr, regs->ddr_init_ext_addr);
> 
> So for me the timing_cfg_2 must be set at a deterministic value to avoid 
> stability issue when the CONFIG_SYS_FSL_ERRATUM_DDR_A003474 flag is set.
> 
> Many thanks
> Benoit
> 
> 
> On 08/12/2014 08:07 PM, York Sun wrote:
>> On 07/23/2014 11:56 PM, Benoit Sansoni wrote:
>>> York,
>>>
>>> I am going to check out the method that you talk about.
>>> For now the fix allow me to boot our board with 8GB it is a good step
>>> for me.
>>>
>>> Thanks
>>> Benoit
>>>
>>> On 07/23/2014 06:32 PM, York Sun wrote:
>>>> Benoit,
>>>>
>>>> If your interest is in initializing DDR for ECC, you don't have use
>>>> dma_meminit(). There is a better and faster way to do so. All Freescale modern
>>>> DDR controllers support this feature. All you have to do is to define these macros
>>>>
>>>> CONFIG_DDR_ECC
>>>> CONFIG_ECC_INIT_VIA_DDRCONTROLLER
>>>> CONFIG_MEM_INIT_VALUE
>>>>
>>>> There are plenty of example for you to follow.
>>>>
>>>> But again, we should fix the DMA function anyway.
>>>>
>> Benoit,
>>
>> Have you tried my suggestion?
>>
>> York
>>
>>
>>
> 
> 

      reply	other threads:[~2014-09-22 17:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-18 13:11 [U-Boot] enabling ecc on P2041 and QoreIQ familly not valid for memory >= 4GB Benoit Sansoni
2014-07-22 22:53 ` York Sun
2014-07-23  7:21   ` Benoit Sansoni
2014-07-23 16:32     ` York Sun
2014-07-24  6:56       ` Benoit Sansoni
2014-08-12 18:07         ` York Sun
2014-08-25 12:35           ` Benoit Sansoni
2014-09-22 17:13             ` York Sun [this message]

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=542058D1.8040606@freescale.com \
    --to=yorksun@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