• Masahiro Yamada's avatar
    mtd: nand: denali: introduce capability flag · be72a4aa
    Masahiro Yamada authored
    The Denali NAND controller IP has various customizable features.
    SoC vendors can choose desired functions when a delivery RTL is
    created.  It means there are several variants for this IP.  For
    example, the Intel version is equipped with 32bit DMA, whereas the
    IP for UniPhier SoC family with 64bit DMA.
    
    This driver was originally written for some Intel platforms with
    Intel specific things hard-coded.  What is worse, the revision
    register of this IP does not work to distinguish such features.
    We need to do something to make the driver available for other SoCs.
    
    Let's introduce a caps member to the denali_nand_info structure to
    switch on/off various features.  Also, add struct denali_dt_data to
    store the capability associated with compatible string.
    
    Boris suggested this approach in discussion [1] instead of a new DT
    property for every feature.
    
    [1] https://lkml.org/lkml/2016/3/29/142Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
    be72a4aa
denali.h 9.76 KB