mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* atmel_nand pmecc on 8k page
@ 2014-06-12 12:28 Raphaël Poggi
  2014-06-13  1:26 ` Bo Shen
  0 siblings, 1 reply; 7+ messages in thread
From: Raphaël Poggi @ 2014-06-12 12:28 UTC (permalink / raw)
  To: barebox

Hi,

I'm working on a series of patches, to support 8k nand page in
atmel_nand driver.

Currently, I can detect the nand and handle an oob size of 448. But i
have a problem with the pmecc, when barebox tried to perform pmecc
operation, I get the following message:

PMECC: Timeout to calculate error location.

Example of log:

nand: NAND device: Manufacturer ID: 0x2c, Chip ID: 0x68 (Micron
MT29F32G08ABAAAWP), 4096MiB, page size: 8192, OOB size: 448
atmel_nand atmel_nand0: Initialize PMECC params, cap: 8, sector: 1024
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
Bad block table not found for chip 0
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
Bad block table not found for chip 0
Scanning device for bad blocks
Bad eraseblock 90 at 0x000005a00000
Bad eraseblock 91 at 0x000005b00000
atmel_nand atmel_nand0: PMECC: Timeout to get ECC value.
nand_bbt: error while writing bad block table -110


I don't know/find why barebox get a timeout...

Someone have an idea ?

Best regards,
Raphaël

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: atmel_nand pmecc on 8k page
  2014-06-12 12:28 atmel_nand pmecc on 8k page Raphaël Poggi
@ 2014-06-13  1:26 ` Bo Shen
  2014-06-13  8:48   ` Raphaël Poggi
  0 siblings, 1 reply; 7+ messages in thread
From: Bo Shen @ 2014-06-13  1:26 UTC (permalink / raw)
  To: Raphaël Poggi; +Cc: barebox

Hi Raphaël,

On 06/12/2014 08:28 PM, Raphaël Poggi wrote:
> Hi,
>
> I'm working on a series of patches, to support 8k nand page in
> atmel_nand driver.
>
> Currently, I can detect the nand and handle an oob size of 448. But i
> have a problem with the pmecc, when barebox tried to perform pmecc
> operation, I get the following message:
>
> PMECC: Timeout to calculate error location.
>
> Example of log:
>
> nand: NAND device: Manufacturer ID: 0x2c, Chip ID: 0x68 (Micron
> MT29F32G08ABAAAWP), 4096MiB, page size: 8192, OOB size: 448
> atmel_nand atmel_nand0: Initialize PMECC params, cap: 8, sector: 1024
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> Bad block table not found for chip 0
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
> Bad block table not found for chip 0
> Scanning device for bad blocks
> Bad eraseblock 90 at 0x000005a00000
> Bad eraseblock 91 at 0x000005b00000
> atmel_nand atmel_nand0: PMECC: Timeout to get ECC value.
> nand_bbt: error while writing bad block table -110
>
>
> I don't know/find why barebox get a timeout...
>
> Someone have an idea ?

Which board are you test this?
Can you try to apply two patches from matteo.fortini@gmail.com on 
2014-06-06 with name
[PATCH 1/2] sama5d3x: fix HSMC MODE register offset and add TIMINGS
[PATCH 2/2] sama5d3x: HSMC NAND initialize TIMINGS and import values

> Best regards,
> Raphaël

Best Regards,
Bo Shen


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: atmel_nand pmecc on 8k page
  2014-06-13  1:26 ` Bo Shen
@ 2014-06-13  8:48   ` Raphaël Poggi
  2014-06-13 12:48     ` atmel_nand pmecc on 8k page [RFC] Matteo Fortini
  0 siblings, 1 reply; 7+ messages in thread
From: Raphaël Poggi @ 2014-06-13  8:48 UTC (permalink / raw)
  To: Bo Shen; +Cc: barebox

Hi,

I'm testing with a custom board. I have just with the applied test and
it's working ! I can use 8k page nand with atmel_nand driver.

Do I have to wait until Matteo's patches are applied or can I submit
mine right now ?

Best regards,
Raphaël Poggi

2014-06-13 3:26 GMT+02:00 Bo Shen <voice.shen@atmel.com>:
> Hi Raphaël,
>
>
> On 06/12/2014 08:28 PM, Raphaël Poggi wrote:
>>
>> Hi,
>>
>> I'm working on a series of patches, to support 8k nand page in
>> atmel_nand driver.
>>
>> Currently, I can detect the nand and handle an oob size of 448. But i
>> have a problem with the pmecc, when barebox tried to perform pmecc
>> operation, I get the following message:
>>
>> PMECC: Timeout to calculate error location.
>>
>> Example of log:
>>
>> nand: NAND device: Manufacturer ID: 0x2c, Chip ID: 0x68 (Micron
>> MT29F32G08ABAAAWP), 4096MiB, page size: 8192, OOB size: 448
>> atmel_nand atmel_nand0: Initialize PMECC params, cap: 8, sector: 1024
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> Bad block table not found for chip 0
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>> Bad block table not found for chip 0
>> Scanning device for bad blocks
>> Bad eraseblock 90 at 0x000005a00000
>> Bad eraseblock 91 at 0x000005b00000
>> atmel_nand atmel_nand0: PMECC: Timeout to get ECC value.
>> nand_bbt: error while writing bad block table -110
>>
>>
>> I don't know/find why barebox get a timeout...
>>
>> Someone have an idea ?
>
>
> Which board are you test this?
> Can you try to apply two patches from matteo.fortini@gmail.com on 2014-06-06
> with name
> [PATCH 1/2] sama5d3x: fix HSMC MODE register offset and add TIMINGS
> [PATCH 2/2] sama5d3x: HSMC NAND initialize TIMINGS and import values
>
>> Best regards,
>> Raphaël
>
>
> Best Regards,
> Bo Shen
>

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: atmel_nand pmecc on 8k page [RFC]
  2014-06-13  8:48   ` Raphaël Poggi
@ 2014-06-13 12:48     ` Matteo Fortini
  2014-06-16  7:19       ` Bo Shen
  0 siblings, 1 reply; 7+ messages in thread
From: Matteo Fortini @ 2014-06-13 12:48 UTC (permalink / raw)
  To: Raphaël Poggi, Bo Shen; +Cc: barebox

Hi all,
glad you found my patch useful. Sascha rejected it because he sees it 
more fit to separate the initialization of sama5d3 and sam9 since they 
are quite different.

I started, as advised by Sascha, to create into sam9_smc.c the function

void sama5d3_smc_configure(int id, int cs, struct sama5d3_smc_config 
*config)

but this brings on some other changes to keep the same structure of 
functions,  i.e. we would need to implement

static void sama5d3_smc_cs_configure(void __iomem *base, struct 
sama5d3_smc_config *config)

and all the related functions, since the argument changes from struct 
sam9_smc_config * to struct sama5d3_smc_config *

Now I'm asking you all for a comment: should we go ahead and create a 
new sama5d3_smc.c file with all the functions (some will unfortunately 
be a duplicate of those present in sam9_smc.c), or should I do a partial 
hack to insert sama5d3 specific functions into sam9_smc.c (like, for 
example, playing with config structures so that the sam9 one is just the 
head of the sama5d3)?

Thank you in advance for your comments, I ask Raphaël to wait until this 
patch is settled to send in his changes. They will be very useful for 
me, too (I had to deactivate PMECC to use my NAND...)

M

Il 13/06/2014 10:48, Raphaël Poggi ha scritto:
> Hi,
>
> I'm testing with a custom board. I have just with the applied test and
> it's working ! I can use 8k page nand with atmel_nand driver.
>
> Do I have to wait until Matteo's patches are applied or can I submit
> mine right now ?
>
> Best regards,
> Raphaël Poggi
>
> 2014-06-13 3:26 GMT+02:00 Bo Shen <voice.shen@atmel.com>:
>> Hi Raphaël,
>>
>>
>> On 06/12/2014 08:28 PM, Raphaël Poggi wrote:
>>> Hi,
>>>
>>> I'm working on a series of patches, to support 8k nand page in
>>> atmel_nand driver.
>>>
>>> Currently, I can detect the nand and handle an oob size of 448. But i
>>> have a problem with the pmecc, when barebox tried to perform pmecc
>>> operation, I get the following message:
>>>
>>> PMECC: Timeout to calculate error location.
>>>
>>> Example of log:
>>>
>>> nand: NAND device: Manufacturer ID: 0x2c, Chip ID: 0x68 (Micron
>>> MT29F32G08ABAAAWP), 4096MiB, page size: 8192, OOB size: 448
>>> atmel_nand atmel_nand0: Initialize PMECC params, cap: 8, sector: 1024
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> Bad block table not found for chip 0
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> atmel_nand atmel_nand0: PMECC: Timeout to calculate error location.
>>> Bad block table not found for chip 0
>>> Scanning device for bad blocks
>>> Bad eraseblock 90 at 0x000005a00000
>>> Bad eraseblock 91 at 0x000005b00000
>>> atmel_nand atmel_nand0: PMECC: Timeout to get ECC value.
>>> nand_bbt: error while writing bad block table -110
>>>
>>>
>>> I don't know/find why barebox get a timeout...
>>>
>>> Someone have an idea ?
>>
>> Which board are you test this?
>> Can you try to apply two patches from matteo.fortini@gmail.com on 2014-06-06
>> with name
>> [PATCH 1/2] sama5d3x: fix HSMC MODE register offset and add TIMINGS
>> [PATCH 2/2] sama5d3x: HSMC NAND initialize TIMINGS and import values
>>
>>> Best regards,
>>> Raphaël
>>
>> Best Regards,
>> Bo Shen
>>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: atmel_nand pmecc on 8k page [RFC]
  2014-06-13 12:48     ` atmel_nand pmecc on 8k page [RFC] Matteo Fortini
@ 2014-06-16  7:19       ` Bo Shen
  2014-06-19  4:31         ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 7+ messages in thread
From: Bo Shen @ 2014-06-16  7:19 UTC (permalink / raw)
  To: Matteo Fortini, Raphaël Poggi; +Cc: barebox

Hi Matteo,

On 06/13/2014 08:48 PM, Matteo Fortini wrote:
> Hi all,
> glad you found my patch useful. Sascha rejected it because he sees it
> more fit to separate the initialization of sama5d3 and sam9 since they
> are quite different.
>
> I started, as advised by Sascha, to create into sam9_smc.c the function
>
> void sama5d3_smc_configure(int id, int cs, struct sama5d3_smc_config
> *config)
>
> but this brings on some other changes to keep the same structure of
> functions,  i.e. we would need to implement
>
> static void sama5d3_smc_cs_configure(void __iomem *base, struct
> sama5d3_smc_config *config)
>
> and all the related functions, since the argument changes from struct
> sam9_smc_config * to struct sama5d3_smc_config *
>
> Now I'm asking you all for a comment: should we go ahead and create a
> new sama5d3_smc.c file with all the functions (some will unfortunately
> be a duplicate of those present in sam9_smc.c), or should I do a partial
> hack to insert sama5d3 specific functions into sam9_smc.c (like, for
> example, playing with config structures so that the sam9 one is just the
> head of the sama5d3)?

I think we'd better to create a new sama5d3_smc.c. This will be more 
readable, and also benefit for the new coming SoC.

> Thank you in advance for your comments, I ask Raphaël to wait until this
> patch is settled to send in his changes. They will be very useful for
> me, too (I had to deactivate PMECC to use my NAND...)
>
> M

Best Regards,
Bo Shen

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: atmel_nand pmecc on 8k page [RFC]
  2014-06-16  7:19       ` Bo Shen
@ 2014-06-19  4:31         ` Jean-Christophe PLAGNIOL-VILLARD
  2014-06-19  5:27           ` Bo Shen
  0 siblings, 1 reply; 7+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2014-06-19  4:31 UTC (permalink / raw)
  To: Bo Shen; +Cc: barebox

On 15:19 Mon 16 Jun     , Bo Shen wrote:
> 
> Hi Matteo,
> 
> On 06/13/2014 08:48 PM, Matteo Fortini wrote:
> >Hi all,
> >glad you found my patch useful. Sascha rejected it because he sees it
> >more fit to separate the initialization of sama5d3 and sam9 since they
> >are quite different.
> >
> >I started, as advised by Sascha, to create into sam9_smc.c the function
> >
> >void sama5d3_smc_configure(int id, int cs, struct sama5d3_smc_config
> >*config)
> >
> >but this brings on some other changes to keep the same structure of
> >functions,  i.e. we would need to implement
> >
> >static void sama5d3_smc_cs_configure(void __iomem *base, struct
> >sama5d3_smc_config *config)
> >
> >and all the related functions, since the argument changes from struct
> >sam9_smc_config * to struct sama5d3_smc_config *
> >
> >Now I'm asking you all for a comment: should we go ahead and create a
> >new sama5d3_smc.c file with all the functions (some will unfortunately
> >be a duplicate of those present in sam9_smc.c), or should I do a partial
> >hack to insert sama5d3 specific functions into sam9_smc.c (like, for
> >example, playing with config structures so that the sam9 one is just the
> >head of the sama5d3)?
> 
> I think we'd better to create a new sama5d3_smc.c. This will be more
> readable, and also benefit for the new coming SoC.


NACK

that was raised on the kernel the sam9 & sama5 does does share the IP the a5
just have more features

Best Regards,
J.
> 
> >Thank you in advance for your comments, I ask Raphaël to wait until this
> >patch is settled to send in his changes. They will be very useful for
> >me, too (I had to deactivate PMECC to use my NAND...)
> >
> >M
> 
> Best Regards,
> Bo Shen

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: atmel_nand pmecc on 8k page [RFC]
  2014-06-19  4:31         ` Jean-Christophe PLAGNIOL-VILLARD
@ 2014-06-19  5:27           ` Bo Shen
  0 siblings, 0 replies; 7+ messages in thread
From: Bo Shen @ 2014-06-19  5:27 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD; +Cc: barebox

Hi Jean-Christophe PLAGNIOL-VILLARD,

On 06/19/2014 12:31 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 15:19 Mon 16 Jun     , Bo Shen wrote:
>>
>> Hi Matteo,
>>
>> On 06/13/2014 08:48 PM, Matteo Fortini wrote:
>>> Hi all,
>>> glad you found my patch useful. Sascha rejected it because he sees it
>>> more fit to separate the initialization of sama5d3 and sam9 since they
>>> are quite different.
>>>
>>> I started, as advised by Sascha, to create into sam9_smc.c the function
>>>
>>> void sama5d3_smc_configure(int id, int cs, struct sama5d3_smc_config
>>> *config)
>>>
>>> but this brings on some other changes to keep the same structure of
>>> functions,  i.e. we would need to implement
>>>
>>> static void sama5d3_smc_cs_configure(void __iomem *base, struct
>>> sama5d3_smc_config *config)
>>>
>>> and all the related functions, since the argument changes from struct
>>> sam9_smc_config * to struct sama5d3_smc_config *
>>>
>>> Now I'm asking you all for a comment: should we go ahead and create a
>>> new sama5d3_smc.c file with all the functions (some will unfortunately
>>> be a duplicate of those present in sam9_smc.c), or should I do a partial
>>> hack to insert sama5d3 specific functions into sam9_smc.c (like, for
>>> example, playing with config structures so that the sam9 one is just the
>>> head of the sama5d3)?
>>
>> I think we'd better to create a new sama5d3_smc.c. This will be more
>> readable, and also benefit for the new coming SoC.
>
>
> NACK
>
> that was raised on the kernel the sam9 & sama5 does does share the IP the a5
> just have more features

After I search the latest Linux kernel code, I don't find the related 
information, can you be more specific? A link or some reference code 
will be better.

> Best Regards,
> J.

Best Regards,
Bo Shen


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-06-19  5:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-12 12:28 atmel_nand pmecc on 8k page Raphaël Poggi
2014-06-13  1:26 ` Bo Shen
2014-06-13  8:48   ` Raphaël Poggi
2014-06-13 12:48     ` atmel_nand pmecc on 8k page [RFC] Matteo Fortini
2014-06-16  7:19       ` Bo Shen
2014-06-19  4:31         ` Jean-Christophe PLAGNIOL-VILLARD
2014-06-19  5:27           ` Bo Shen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox