[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201029100751.713e27df@collabora.com>
Date: Thu, 29 Oct 2020 10:07:51 +0100
From: Boris Brezillon <boris.brezillon@...labora.com>
To: Md Sadre Alam <mdalam@...eaurora.org>
Cc: agross@...nel.org, bjorn.andersson@...aro.org,
miquel.raynal@...tlin.com, richard@....at, vigneshr@...com,
robh+dt@...nel.org, linux-arm-msm@...r.kernel.org,
linux-mtd@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, sricharan@...eaurora.org
Subject: Re: [PATCH 2/5] mtd: rawnand: qcom: Add initial support for qspi
nand
Hello,
On Sat, 10 Oct 2020 11:01:39 +0530
Md Sadre Alam <mdalam@...eaurora.org> wrote:
> This change will add initial support for qspi (serial nand).
>
> QPIC Version v.2.0 onwards supports serial nand as well so this
> change will initialize all required register to enable qspi (serial
> nand).
>
> This change is supporting very basic functionality of qspi nand flash.
>
> 1. Reset device (Reset QSPI NAND device).
>
> 2. Device detection (Read id QSPI NAND device).
Unfortunately, that's not going to work in the long term. You're
basically hacking the raw NAND framework to make SPI NANDs fit. I do
understand the rationale behind this decision (re-using the code for
ECC and probably other things), but that's not going to work. So I'd
recommend doing the following instead:
1/ implement a SPI-mem controller driver
2/ implement an ECC engine driver so the ECC logic can be shared
between the SPI controller and raw NAND controller drivers
3/ convert the raw NAND driver to the exec_op() interface (none of
this hack would have been possible if the driver was using the new
API)
Regards,
Boris
Powered by blists - more mailing lists