[PATCH -next] mtd: nand: Add support for Toshiba BENAND (Built-in ECC NAND)

KOBAYASHI Yoshitake yoshitake.kobayashi at toshiba.co.jp
Wed Jun 7 01:17:29 PDT 2017


On 2017/06/07 6:11, Boris Brezillon wrote:
> On Mon, 5 Jun 2017 14:36:23 +0900
> KOBAYASHI Yoshitake <yoshitake.kobayashi at toshiba.co.jp> wrote:
> 
>> Hi Boris,
>>
>> Thank you very much for your detailed review.
>> I just comming back from busy week for conference and started to look it.
>>
>> I have a question regarding to the following comment.
>>
>>>>  static int toshiba_nand_init(struct nand_chip *chip)
>>>>  {
>>>> +	struct mtd_info *mtd = nand_to_mtd(chip);
>>>> +
>>>>  	if (nand_is_slc(chip))
>>>>  		chip->bbt_options |= NAND_BBT_SCAN2NDPAGE;
>>>>  
>>>> +	if (chip->ecc.mode == NAND_ECC_BENAND) {
>>>> +		chip->ecc.options = NAND_ECC_CUSTOM_PAGE_ACCESS;
>>>> +		chip->ecc.bytes = 0;  
>>>
>>> It should be set to 16 according to the datasheet. But I guess this is
>>> not exactly true. I'm pretty sure we can use some of these bytes to
>>> store real data. Assuming you're using BCH, only 13bytes are needed for
>>> 8bits/512bytes strength, and I guess the BBM region is also left
>>> untouched (first 2 bytes of the OOB region).  
>>
>> On BENAND, all OOB reginon can be used by user (driver). The calculated
>> ECC data stored into other isolated area which is ubable to access from user.
>> This is why chip->ecc.bytes = 0.
> 
> Oh, nice!
> 
>> To make sure this specification, I also checked the BENAND datasheet
>> but unfortunatelly it was undocumented. Sorry for this confusion.
> 
> No problem. Do you think you can update the datasheet (or ask someone
> who can) to clarify this aspect? As you said, it's really not clear
> that these ECC bytes are actually stored in a dedicated region that is
> invisible to users.

Thank you for your comment. I asked to the product department about this.
They say they are confirming whether they can update our product datasheet or not.

-- Yoshi





More information about the linux-mtd mailing list