This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Has Anyone Used Spansion NAND Flash With Hercules? (Unresolved BCH Issues)

Hello - I posted this in the Hercules forum but a TIer suggested I post here:

Hello All,

I am wondering if anyone else out there has tried using the Spansion NAND Flash with the Hercules processor (non-EMIF).

I currently have a design using the '3137 and the S34ML_08G2x8 Spansion device.

I am using the NAND LLD provided by Spansion and the ION FAT FS; but there have been some issues. Some of them are resolved; and some are still outstanding.

The biggest outstanding issue is I am still getting unresolved BCH issues - specifically; these messages are being printed out:

NLLD BCH Root not found.  There appears to be an issue with the 

// finding the four roots of the quartic function
bool findQuarRoots(s32 *elp_coeff, s32 *root)

function in the nand_lld_ecc.c file - we've identified some issues with Big Endian since the Hercules is a Big Endian processor.

Thanks In Advance,
johnw

  • Hi,

    This forum supports only the Sitara processor family. We cannot help on Hercules related issues.
  • Biser,

    Maybe you missed this part:

    Hello - I posted this in the Hercules forum but a TIer suggested I post here:

    I'll rephrase the question as this isn't a Hercules question as much as it is a NAND Flash Spansion question.

    Since that has been discussed in this forum - the other TIer - much like you - suggested that I ask it here.

    I am wondering if anyone else out there has tried using the Spansion NAND Flash with the (non-EMIF) I/F.
    Note the non-EMIF part of this isn't the issue.

    I currently have a design using the '3137 and the S34ML_08G2x8 Spansion device. (Just for reference.)

    I am using the NAND LLD provided by Spansion and the ION FAT FS; but there have been some issues. Some of them are resolved; and some are still outstanding.

    The biggest outstanding issue is I am still getting unresolved BCH issues - specifically; these messages are being printed out:

    NLLD BCH Root not found. There appears to be an issue with the

    // finding the four roots of the quartic function
    bool findQuarRoots(s32 *elp_coeff, s32 *root)

    function in the nand_lld_ecc.c file - we've identified some issues with Big Endian since the Hercules is a Big Endian processor.

    Has anyone here used the Spansion NAND Flash and run the BCH algorithm successfully? That is the heart of the question.

    Thanks In Advance,
    johnw
  • Let me reiterate - this forum supports the Sitara processor family and Linux for the Sitara processor family. All Sitara processors have a hardware ECC module. We do not use software algoryhtms for ECC calculation. We have no support for ION FS. Sorry, but the support team on this forum cannot help you.
  • This is an engineer to engineer forum - I'm not asking you in particular.

    Please give others in this forum a chance to answer or to comment.

    The spirit of E2E is to collaborate with other engineers; and TI employees are not the only ones that participate here.

    I understand you are unable and unwilling to answer this question; I have noted that.

    As I have said; another TIer in another forum suggested that I post here; and I have.

    I am waiting for another engineer to take part in this conversation.

    Regards,
    John W.
  • Yes, that was my suggestion. I thought that some of the lower end Sitara parts like AM17xx only had 1-bit ECC support in hardware but looks like they start w. 4 bit. In any case it is still interesting to know if anyone has a software approach as well.

    -Anthony
  • Anthony,

    The Spansion NAND that I have talked about here requires 4-bit ECC. I thought some here had some experience in that since when I looked at the code - some of the hardware that has been discussed here ONLY supports error detection in hardware; and the error correction had to be done in software; so I don't necessarily think it was 'incorrect' to post the question here.

    I was hoping someone here that had dealt with that in the past could chime in. 
    Regards,
    John W.