[U-Boot] [PATCH v2 0/14] sunxi: Add support for the CHIP Pro

Jagan Teki jagan at openedev.com
Mon Dec 5 22:33:35 CET 2016


Hi Maxime,

On Sun, Dec 4, 2016 at 8:19 AM, Jagan Teki <jagan at openedev.com> wrote:
> On Tue, Nov 22, 2016 at 6:08 PM, Maxime Ripard
> <maxime.ripard at 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 <jagan at openedev.com>
>
>>   sunxi: Sync GR8 DTS and AXP209 with the kerne
>
> Sent the review comments about this.
>
>>   sunxi: Add support for the CHIP Pro

Found many buildman issue with this series[1], please refer to
master-next and let me know for if I miss any or fixes from you.

[1] https://paste.ubuntu.com/23585255/

thanks!
-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.


More information about the U-Boot mailing list