Skip to content
  • Miquel Raynal's avatar
    a8c7ffdb
    mtd: nand: Introduce the ECC engine framework · a8c7ffdb
    Miquel Raynal authored
    
    
    Create a generic ECC engine framework. This is a base to instantiate ECC
    engine objects.
    
    If we really want to be generic, bindings must evolve, so here is the
    new logic. The following three properties are mutually exclusive:
    - The nand-no-ecc-engine boolean property is set and there is no
      ECC engine to retrieve.
    - The nand-use-soft-ecc-engine boolean property is set and the core
      will force using the use of software correction.
    - There is a nand-ecc-engine property pointing at a node which will
      act as ECC engine.
    
    It the later case, the property may reference:
    - The NAND chip node itself (for the on-die ECC case).
    - The parent node if the NAND controller embeds an ECC engine.
    - Any other node being an external ECC controller as well.
    
    Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-9-miquel.raynal@bootlin.com
    a8c7ffdb
    mtd: nand: Introduce the ECC engine framework
    Miquel Raynal authored
    
    
    Create a generic ECC engine framework. This is a base to instantiate ECC
    engine objects.
    
    If we really want to be generic, bindings must evolve, so here is the
    new logic. The following three properties are mutually exclusive:
    - The nand-no-ecc-engine boolean property is set and there is no
      ECC engine to retrieve.
    - The nand-use-soft-ecc-engine boolean property is set and the core
      will force using the use of software correction.
    - There is a nand-ecc-engine property pointing at a node which will
      act as ECC engine.
    
    It the later case, the property may reference:
    - The NAND chip node itself (for the on-die ECC case).
    - The parent node if the NAND controller embeds an ECC engine.
    - Any other node being an external ECC controller as well.
    
    Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-9-miquel.raynal@bootlin.com
Loading