Hi Andre,

> On Sat, 24 Jul 2021 18:27:53 +0200
> Petr Vorel <petr.vo...@gmail.com> wrote:

> Hi Petr,

> > [ Dropping Greg and linux-...@vger.kernel.org ]
> > > Peter,  

> > > On Sat, 24 Jul 2021 at 15:22, Petr Vorel <petr.vo...@gmail.com> wrote:  

> > > > Hi Greg,  

> > > > > On Sat, Jul 24, 2021 at 03:41:42PM +0200, Petr Vorel wrote:  
> > > > > > > Why is this even a driver at all, it looks like you can write a 
> > > > > > > small
> > > > > > > userspace program using libusb to do everything it does, right?  
> > > > > > > What
> > > > > > > exactly is this driver needed for?  

> > > > > > I'm sorry for not providing more info at the beginning. This is a 
> > > > > > driver for
> > > > > > host computer (i.e. developers laptop) used by LiveSuit tool [2] to 
> > > > > > flash Images
> > > > > > to the NAND of Allwinner devices. LiveSuit itself [3] is 
> > > > > > unfortunately provided
> > > > > > only in binary form. The only open source code with GPL v2 license 
> > > > > > is awusb
> > > > > > driver. Thus I thought I could ease my life with upstreaming at 
> > > > > > least the
> > > > > > kernel driver. But maybe it's not a good idea. I'm using LiveSuit 
> > > > > > for flashing
> > > > > > Allwinner A31, but it requires quite old distro due libqtgui4. 
> > > > > > Maybe sunxi folks
> > > > > > use something newer nowadays, but I haven't found anything in their 
> > > > > > wiki.  

> > > > > Ah, that's not going to be good then.  Really, this doesn't seem to 
> > > > > need
> > > > > to be a driver at all, and the ioctls are really strange so we would
> > > > > need to change them anyway before it could be merged.  But with no
> > > > > access to userspace code, that will be quite difficult, so I would 
> > > > > push
> > > > > back on allwinner and have them work on resolving this.  
> > > > Understand, it makes sense. Thanks for your time!  

> > > > @Sunxi community: am I missing something? Using LiveSuit with old 
> > > > distro chroot
> > > > and Xephyr with out-of-tree module isn't fun :(.  

> > > Suggest you take a look at sunxi-tools - specifically the sunxi-fel
> > > tool. This is a libusb-based userland tool to talk to these devices.
> > > I'm not sure if it supports flashing to nand on A31 - never tried it -
> > > but have used it to flash to eMMC and SPI flash on their other chips.  
> > Thanks for a tip. Looking into sources it does not look like sunxi-fel 
> > supports
> > NAND.

> > Also from Debian wiki [1] (which describes bootable SD Card) it looks like 
> > only
> > old Allwinner u-boot supported access to NAND, thus I'd be surprised if
> > sunxi-tools supported it. sunxi-bootinfo does not implement NAND,
> > sunxi-nand-image-builder (which is not built by default) creates raw NAND
> > images, but now word about flashing.

> > I wonder why NAND is (probably) not supported by sunxi? Lack of 
> > documentation?

> Pure NAND is getting rarer these days, on modern boards we see mostly
> eMMC now (maybe SPI NAND). So NAND is only a concern for older SoCs.

> There is (limited) NAND support for mainline U-Boot on the C.H.I.P.
> boards[1], which use an A13 (derivative). But reliable operation is
> only possible with SLC NAND, which means only on the Chip Pro board,
> IIUC. Most boards will probably utilise MLC (or worse) NAND these days,
> where effects like write and read disturb make operation more
> complicated. Maxime has some stories to tell about this.
> So it would be first good to know if you have SLC NAND or not.

I have no idea which type of NAND device has.
It's device based on low end tablet. Can I find this info on running system
(sysfs, /proc, ...). dmesg does not say anything special.

Or is it possible to find it in source code? nand.ko module is some out of tree
code in modules/nand (kernel 3.3):
description:    Generic NAND flash driver code
author:         nand flash groups

But nothing mentions SLC or MLC. Or do I have to have HW spec?


> Because of this direct support for NAND in the tools is understandably
> "limited" (as in: non-existent). Except for SPI NOR flash there is no
> "direct" flashing support (for eMMC) in the tools anyway, it just relies
> on U-Boot support.
> How this works is that you use sunxi-fel to upload a (mainline) U-Boot
> binary directly into DRAM, and launch that. Then you can use the full
> functionality of U-Boot to load your image. Most popular for NAND
> support seems to be U-Boot's Android Fastboot implementation over a USB
> gadget device, so you can use the off-the-shelf fastboot tool on your
> host computer to flash the NAND. Other possibilities would be to use
> USB host support or TFTP to first load an image into DRAM, then use
> U-Boot commands to write that into the NAND flash.
> To my knowledge NAND flash in U-Boot *only* works on the A13/R8/GR8
> chips with SLC NAND, and is only enabled and tested on the Chip boards.
> Every other combination would require some work; much more work the
> farther you move from there (other SoC, MLC, ...).

Thanks for detailed info. It seems I'll just accept that for mainline my A31
needs sd-card.

Kind regards,
Petr

> Cheers,
> Andre

> [1] https://linux-sunxi.org/NextThingCo_CHIP

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/linux-sunxi/YP30OCLkjRfqtOOg%40pevik.

Reply via email to