]> git.baikalelectronics.ru Git - kernel.git/commit
mtd: nand: denali: introduce capability flag
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 22 Mar 2017 20:07:07 +0000 (05:07 +0900)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Fri, 24 Mar 2017 08:51:38 +0000 (09:51 +0100)
commit805baa7f64a24db57c6bdba20172e436e512f481
tree0c56f3f0285834e90dcae6c2e86fb7b6a5464b5c
parent669498b11ffb880f693ab507ce72789de2b64246
mtd: nand: denali: introduce capability flag

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/142

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/denali.h
drivers/mtd/nand/denali_dt.c