From: Petr Vorel <petr.vorel@gmail.com>
To: Andre Przywara <andre.przywara@arm.com>
Cc: Christopher Obbard <chris@64studio.com>,
linux-sunxi@lists.linux.dev,
mailing list linux-sunxi <linux-sunxi@googlegroups.com>
Subject: Re: [linux-sunxi] Re: Mainlining Linux Sunxi SoC AW USB
Date: Mon, 26 Jul 2021 01:31:04 +0200 [thread overview]
Message-ID: <YP30OCLkjRfqtOOg@pevik> (raw)
In-Reply-To: <20210724180432.4423b9e3@slackpad.fritz.box>
Hi Andre,
> On Sat, 24 Jul 2021 18:27:53 +0200
> Petr Vorel <petr.vorel@gmail.com> wrote:
> Hi Petr,
> > [ Dropping Greg and linux-usb@vger.kernel.org ]
> > > Peter,
> > > On Sat, 24 Jul 2021 at 15:22, Petr Vorel <petr.vorel@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
next prev parent reply other threads:[~2021-07-25 23:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <YPvjYIsu0G0HSu5I@pevik>
[not found] ` <YPvrpUZ/VRc0eHvA@kroah.com>
2021-07-24 13:41 ` Mainlining Linux Sunxi SoC AW USB Petr Vorel
2021-07-24 14:17 ` Greg KH
2021-07-24 14:22 ` Petr Vorel
2021-07-24 14:45 ` [linux-sunxi] " Christopher Obbard
2021-07-24 16:27 ` Petr Vorel
2021-07-24 17:04 ` Andre Przywara
2021-07-25 23:31 ` Petr Vorel [this message]
2021-07-28 14:16 ` Maxime Ripard
2021-07-24 14:54 ` Jernej Škrabec
2021-07-24 16:46 ` Petr Vorel
2021-07-24 14:49 ` Felipe Balbi
2021-07-24 16:34 ` Petr Vorel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YP30OCLkjRfqtOOg@pevik \
--to=petr.vorel@gmail.com \
--cc=andre.przywara@arm.com \
--cc=chris@64studio.com \
--cc=linux-sunxi@googlegroups.com \
--cc=linux-sunxi@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).