On Thu, 30 Jun 2022 23:30:50 +0200 Markus Hoffrogge <mhoffro...@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-macroalph...@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