07 May, 2016

1 commit

  • This patch is a porting of
    http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_4.1.15_1.0.0_ga&id=e4dacc44d22e9474ec456cb330df525cd805ea38
    "
    i.MX6QP and i.MX7D BCH module integrated a new feature to detect the
    bitflip number for erased NAND page. So for these two platform, set the
    erase threshold to gf/2 and if bitflip detected, GPMI driver will
    correct the data to all 0xFF.

    Also updated the imx6qp dts file to ditinguish the GPMI module for i.MX6Q
    with the one for i.MX6QP.
    "

    In this patch, i.MX6UL is added and threshold changed to use ecc_strength.

    Signed-off-by: Peng Fan

    Peng Fan
     

24 Jan, 2016

1 commit


26 Aug, 2015

1 commit

  • If ecc chunk data size is 512 and oobsize is bigger than 512, there is
    a chance that block_mark_bit_offset conflicts with bch ecc area.

    The following graph is modified from kernel gpmi-nand.c driver with
    each data block 512 bytes. We can see that Block Mark conflicts with
    ecc area from bch view. We can enlarge the ecc chunk size to avoid
    this problem to those oobsize which is larger than 512.

    | P |
    ||
    | |
    | (Block Mark) |
    | P' | | | |
    || D | | O'|
    | || ||
    V V V V V
    +---+--------------+-+--------------+-+--------------+-+----------+-+---+
    | M | data |E| data |E| data |E| data |E| |
    +---+--------------+-+--------------+-+--------------+-+----------+-+---+
    ^ ^
    | O |
    ||

    P : the page size for BCH module.
    E : The ECC strength.
    G : the length of Galois Field.
    N : The chunk count of per page.
    M : the metasize of per page.
    C : the ecc chunk size, aka the "data" above.
    P': the nand chip's page size.
    O : the nand chip's oob size.
    O': the free oob.

    Signed-off-by: Peng Fan
    Reviewed-by: Marek Vasut
    Tested-By: Tim Harvey

    Peng Fan
     

24 Jul, 2013

1 commit


22 Apr, 2013

2 commits