[U-Boot] [PATCH v2 0/14] sunxi: Add support for the CHIP Pro
Jagan Teki
jagan at openedev.com
Wed Dec 7 16:10:56 CET 2016
Hi Maxime,
On Mon, Dec 5, 2016 at 10:33 PM, Jagan Teki <jagan at openedev.com> wrote:
> 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/
Did you able to reproduce?
thanks!
--
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
More information about the U-Boot
mailing list