Re: [PATCH] mtd: nand: denali: allow to override max_banks from DT property
From: Rob Herring
Date: Fri Mar 25 2016 - 10:38:10 EST
On Thu, Mar 24, 2016 at 09:24:37PM +0900, Masahiro Yamada wrote:
> Commit 271707b1d817 ("mtd: nand: denali: max_banks calculation
> changed in revision 5.1") supported the new encoding of the "n_banks"
> bits of the "features" register, but there is an unfortunate case
> that is not covered by that commit.
>
> Panasonic (its System LSI division is now Socionext) bought several
> versions of this IP. The IP released for Panasonic around Feb. 2012
> is revision 5 and uses the old encoding for n_banks (2 << n_banks).
> While the one released around Nov. 2012 is also revision 5, but it
> uses the new encoding (1 << n_banks).
>
> The revision register cannot distinguish these two incompatible
> hardware. I guess this IP series is not well-organized. I could not
> find any alternative but giving max_banks from DT property.
>
> This commit works around the problem by allowing DT to set the
> max_banks forcibly. Of course, this DT property can be optional if
> the auto detection based on the hardware registers works well.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---
>
> Documentation/devicetree/bindings/mtd/denali-nand.txt | 4 ++++
Acked-by: Rob Herring <robh@xxxxxxxxxx>
> drivers/mtd/nand/denali.c | 3 ++-
> drivers/mtd/nand/denali_dt.c | 3 +++
> 3 files changed, 9 insertions(+), 1 deletion(-)