On Tue, Nov 22, 2016 at 6:08 PM, Maxime Ripard <maxime.rip...@free-electrons.com> wrote: > The CHIP Pro is a SoM made by NextThing Co, and that embeds a GR8 SIP, an > AXP209 PMIC, a WiFi BT chip and a 512MB SLC NAND. > > Since the first Allwinner device coming whit an SLC NAND that doesn't have > the shortcomings (and breakages) the MLC NAND has, we can finally enable > the NAND support on a board by default. > > This is the occasion to introduce a bunch of additions needed imo to be > able to come up with a sane NAND support for our users. > > The biggest pain point is that the BROM uses a different ECC and randomizer > configuration than for the rest of the NAND. In order to lessen the number > of bitflips, you also need to pad with random data the SPL image. > > Since it's quite tedious to do right (and most users won't be able to > figure it out) and since if it is not done right, it will eventually turn > into an unusable system (which is bad UX), we think that the best solution > is to generate an SPL image that already embeds all this. We'll possible > have to do the same thing for the U-Boot image (at least for the random > padding) on MLC NANDs. > > The only drawback from that is that you need to flash it raw, instead of > using the usual nand write, but it's just a different command, nothing > major anyway. > > In order to flash it, from a device switched in FEL, on your host: > sunxi-fel spl spl/sunxi-spl.bin > sunxi-fel write 0x4a000000 u-boot-dtb.bin > sunxi-fel write 0x43000000 spl/sunxi-spl-with-ecc.bin > sunxi-fel exe 0x4a000000 > > And on the board, once u-boot is running (assuming the NAND is already > erased): > > nand write.raw.noverify 0x43000000 0 40 > nand write.raw.noverify 0x43000000 0x400000 40 > > nand write 0x4a000000 0x800000 0xc0000 > > I also encountered some weird bug in the private libgcc that prevents > U-Boot from loading. Disabling CONFIG_USE_PRIVATE_LIBGCC fixes that. > > Let me know what you think, > Maxime > > Changes from v1: > - Allowed to build lib/bch.c for the host, and used that in the image > builder > - Fixed a bug in the NAND driver > - Wrote a documentation on how to flash a NAND image on an Allwinner > board > - Fixed a few compilation breakages and issues > - Moved U-boot offset out of the config header and into Kconfig > - Moved the environment into UBI > - Moved the environment selection to Kconfig > - Moved the CMD_MTDPARTS options to Kconfig > - Provide MTDIDS_DEFAULT and MTDPARTS_DEFAULT options through Kconfig > - Added the tags from everyone > > Boris Brezillon (1): > mtd: nand: add support for the TC58NVG2S0H chip
Will skip this, already in tree. > > Hans de Goede (1): > sunxi: Enable UBI and NAND support > > Maxime Ripard (12): > nand: sunxi: Fix modulo by zero error > bch: Allow to build for the host > tools: sunxi: Add spl image builder > common: Move environment choice to Kconfig > cmd: Add Kconfig option for CMD_MTDPARTS and related options > mtd: sunxi: Select the U-Boot location config option > mtd: sunxi: Change U-Boot offset > sunxi: Add the default mtdids and mtdparts to our env > nand: sunxi: Add options for the SPL NAND configuration > scripts: sunxi: Build an raw SPL image Reviewed-by: Jagan Teki <ja...@openedev.com> > sunxi: Sync GR8 DTS and AXP209 with the kerne Sent the review comments about this. > sunxi: Add support for the CHIP Pro thanks! -- Jagan Teki Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream Maintainer Hyderabad, India. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot