On Mon, 30 May 2016 19:46:17 +0300
Siarhei Siamashka <siarhei.siamas...@gmail.com> wrote:

> On Mon, 30 May 2016 17:24:16 +0200
> Boris Brezillon <boris.brezil...@free-electrons.com> wrote:
> 
> > Hi Hans,
> > 
> > On Mon, 30 May 2016 17:12:53 +0200
> > Boris Brezillon <boris.brezil...@free-electrons.com> wrote:
> >   
> > > Generating raw NAND images is particularly useful for boot0 images
> > > creation since the mainline driver is not supporting the funky layout
> > > used by Allwinner's ROM code to load the boot0 binary from NAND.
> > > 
> > > This tools also allows one to generate raw images for 'normal' partitions
> > > so that they can be flashed before soldering on the NAND on the board
> > > (using a regular NAND programmer).
> > > 
> > > The tool takes care of generating ECC bytes and randomizing data as
> > > expected by the NAND controller, and re-arranging the ECC/data sections
> > > correctly.    
> > 
> > Don't know how you want to proceed regarding NAND SPL image creation in
> > u-boot. We could either copy the sunxi-nand-image-builder sources in
> > u-boot or provide a macro to pass the sunxi-tools binaries path
> > (SUNXI_TOOLS_PATH?) and force the user to have the sunxi-tools
> > installed on his build platform.
> > 
> > Note that we'll need extra padding/concatenation steps to build an SPL
> > image suitable for MLC NANDs.  
> 
> Hi,
> 
> I guess, it is not a big secret that I'm also working on the SPI flash
> boot support at the moment. And some information about the progress is
> available here:
> 
>     https://linux-sunxi.org/Bootable_SPI_flash
> 
> IMHO one of the most important requirements is to ensure that the device
> can be always unbricked by the end users in a very simple way. That's
> why I have added the SPI flash programming feature to the sunxi-fel
> tool and it is available in a wip branch since about a week ago:
> 
>     https://github.com/ssvb/sunxi-tools/commits/20160523-spiflash-wip
> 
> There is still some work left to do. For example, just having SPI
> flash read/write functionality (which already works btw) is not
> good enough because it is not sufficiently foolproof. There will
> be a dedicated high level "spiflash-program" commmand to flash
> the standard "u-boot-sunxi-with-spl.bin" file generated by U-Boot.
> We had discussed this a bit on the IRC earlier:
> 
>     http://irclog.whitequark.org/linux-sunxi/2016-05-13#16443894;
> 
> The sunxi-fel flasher tool can modify the u-boot-sunxi-with-spl.bin
> image to automatically add some redundancy (two copies of the SPL):
>     https://linux-sunxi.org/Bootable_SPI_flash#Reliability_considerations
> And also pass some information about the SPI flash type via the SPL
> header (for example, the single/dual SPI mode, the maximum SPI clock
> speed, etc.). So that the SPL can use this information directly
> without any need to have extra code bloat responsible for doing
> runtime discovery of all these parameters.
> 
> But the most important foolproof feature would be of course a warning
> "You are trying to flash a firmware for an incompatible board, are
> you really sure?" :-) Later we can also have digital signatures
> verification built into the sunxi-fel, and other nice things.
>     
> 
> Boris, I think that your NAND use case is not very much different in
> principle. You can't expect the users to desolder the NAND chip and
> use an external NAND programmer tool when they need to unbrick their
> device, right?
> 

That's absolutely not the goal of this tool. It's just here to generate
raw NAND images.
Now, if there's a way to export NAND memory organization through the
SPL header, that's even better, but you'll still need this tool to
generate the image, and I think we should keep them separate.

The example I was giving was for people wanting to optimize their
production phase by pre-flashing the NANDs before soldering them.

Of course you'll be able to re-flash an existing system, but in this
case, except for the boot0 partition, you won't need a raw image,
because you're flashing the NAND with the sunxi NAND controller, and
it's able to generate the ECC bytes and scramble data appropriately.

I'll have a look at what you're currently working on, but I think this
patch is orthogonal to your sunxi-fel flasher.

Best Regards,

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to