[PATCH] sunxi-nand: fix the PIO instead of DMA implementation

Andre Przywara andre.przywara at arm.com
Fri Jul 1 11:57:39 CEST 2022


On Thu, 30 Jun 2022 23:30:50 +0200
Markus Hoffrogge <mhoffrogge at gmail.com> wrote:

Hi Markus,

> as this patch has been delegated to you,

thanks for sending the patch, and for the heads up, looks
like we should add that file somewhere into MAINTAINERS.
(And please keep people on CC:, to not split up the thread on the
list).

> I would like to mention, that this patch is superseding
>  the patch https://patchwork.ozlabs.org/project/uboot/patch/20220330204543.3790-1-macroalpha82@gmail.com/
> raised by Chris Morgan.

So from a first look at it, I like this version better, mostly because
it's much shorter ;-)

That being said, I tried to stay away from raw NAND as much as possible in
the past, and thought that our support in U-Boot is very minimal. So can
someone please enlighten me about the status:
- AFAIK raw NAND is only supported on the C.H.I.P. Pro, because this is
one the few devices featuring SLC NAND. I guess the main feature of raw
NAND is that it's cheaper, so using SLC instead of MLC kind of defeats the
main purpose of it.
- Is there a separate SPL story? As in: loading U-Boot proper from NAND
when the BROM loaded the SPL from there? IIUC read disturbance makes even
that part non-trivial.
- Because of the absence of SLC in modern devices, and the prevalence of
eMMC, raw NAND was rarely used on modern devices (>= H3). So did we ever
support that? My understanding was that the NAND controller itself is
fairly similar (is it?), but the MLC problem would still persist.
- How do you actually write to the NAND? It seems like even reading is
non-trivial, so is this done from U-Boot, (BSP?) Linux, or using vendor
tools, probably via FEL?

I recently got an H6 TV box, which happens to use raw (MLC) NAND flash. I
also inherited a Cubietruck, which is MLC as well. So can I use that
storage, at least for the firmware?

If yes, this should be documented somewhere, I guess? Or is it already?

Cheers,
Andre

> It should solve the issue in general and does not require to
> revert to the former DMA implementation.
> 
> Kind regards
> Markus



More information about the U-Boot mailing list