[PATCH v3 4/4] ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND
From: zonque@gmail.com (Daniel Mack)
Date: 2012-11-21 10:15:23
Also in:
linux-devicetree, linux-omap
On 20.11.2012 16:59, Peter Korsgaard wrote:
quoted
quoted
quoted
quoted
quoted
"Daniel" == Daniel Mack [off-list ref] writes:Hi, >>>> In omap2 driver NAND_ECC_HW ecc mode supports 3 ecc layout >>>> OMAP_ECC_HAMMING_CODE_HW_ROMCODE >>>> OMAP_ECC_BCH4_CODE_HW >>>> OMAP_ECC_BCH8_CODE_HW >>>> >>>> So selection of ecc layout data should come from DT not ecc mode. >>> >>> Ok, I see. I would still like to set them by string rather than magic >>> numbers that map to enum entries. Valid values would be "none", "hw", >>> "hw-romcode", "bch4" and "bch8". Are you ok with that? >> >> Ok, that's nice. Better use ecc_opt instead of ecc_mode. Daniel> I did some more extensive tests that include reading the same Daniel> nand pages from both U-Boot and the kernel with BCH8 ECC, and Daniel> it turns out that -> is_elm_used needs to be set in the pdata Daniel> in order to make this work. So what you're saying is that the choice of ELM or not is not just an optimization, it really changes the ECC layout? Perhaps it should be treated as a seperate layout (E.G. bch8-elm) then?
That is what I experienced, yes. The kernel was unable to parse NAND pages that were written from U-Boot with bch8 hardware mode when the elm module was not active. Maybe someone from TI can explain that? Giving it a dedicated name would also solve the problem with the extra DT property. I'll wait until this is decided before I resend a new set that also fixes the issue with the errornousely forgotten Documentation file. Thanks, Daniel