[U-Boot] [linux-sunxi] Re: [PATCH 00/11] sunxi: Add full SPL support for sun9i (A80)

Chen-Yu Tsai wens at csie.org
Sun Oct 30 06:30:16 CET 2016


On Sat, Oct 29, 2016 at 8:06 PM, Hans de Goede <hdegoede at redhat.com> wrote:
> Hi,
>
>
> On 28-10-16 19:30, Hans de Goede wrote:
>>
>> Hi Chen-Yu,
>>
>> On 28-10-16 12:21, Chen-Yu Tsai wrote:
>>>
>>> Hi everyone,
>>>
>>> This series adds full SPL with DRAM initialization for sun9i (A80).
>>> The bulk of the work was done by the people at Theobroma Systems.
>>> Their work can be found here:
>>>
>>>     https://git.theobroma-systems.com/armadillo-u-boot.git/
>>>
>>> I picked the essential patches and cleaned them up a bit more,
>>> and added commit messages if they were missing.
>>>
>>> As the DRAM bits are essentially a code dump with some cleanups and
>>> some bits disabled, expect many warnings. Checkpatch is still not
>>> happy with it.
>>>
>>> I've tested the series on both my A80 boards, which I've added
>>> defconfigs for in the last 2 patches. My A80 Optimus does not
>>> boot from micro SD, so I'm still FEL booting that one. But my
>>> Cubieboard 4 is now standalone.
>>>
>>> As usual, please have a look, test if possible.
>>
>>
>> Awesome, thanks for doing this and it was good to have
>> some face2face time at ELCE.
>>
>> I've merged this into my personal sunxi-wip u-boot branch,
>> I've made 2 changes:
>>
>> 1) in : ¨sunxi: DRAM initialisation for sun9i" there are a
>> lot of #if 0 #endif blocks, most of these document some features
>> which we may want to enable in the future, but a few were just
>> dead weight IMHO, so I've pruned a few
>>
>> 2) in : "sunxi: Add support for A80 Optimus board", we already
>> have a configs/Merrii_A80_Optimus_defconfig, so I've made the patch
>> update that instead of adding a new defconfig
>>
>> I have not tested this yet, I will do tomorrow, assuming it
>> works for me too I will include it in my next pull-req (*)
>
>
> Ok, just finished testing, u-boot seems to work well. I do
> seem to have one kernel issue (with the last 4.8 based
> sunxi-next kernel, I still need to upgrade that) :
>
> [    1.137105] Division by zero in kernel.
> [    1.140988] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.8.0+ #475
> [    1.147089] Hardware name: Allwinner sun9i Family
> [    1.151830] [<c0310f74>] (unwind_backtrace) from [<c030bed0>]
> (show_stack+0x18/0x1c)
> [    1.159596] [<c030bed0>] (show_stack) from [<c068ee30>]
> (dump_stack+0x80/0x9c)
> [    1.166839] [<c068ee30>] (dump_stack) from [<c068dac0>] (Ldiv0+0x8/0x10)
> [    1.173558] [<c068dac0>] (Ldiv0) from [<c09de7e4>]
> (sun4i_a10_get_mod0_factors+0x2c/0x8c)
> [    1.181758] [<c09de7e4>] (sun4i_a10_get_mod0_factors) from [<c09de480>]
> (clk_factors_determine_rate+0xb8/0xf8)
> [    1.191781] [<c09de480>] (clk_factors_determine_rate) from [<c09d6054>]
> (clk_composite_determine_rate+0x58/0x1cc)
> [    1.202062] [<c09d6054>] (clk_composite_determine_rate) from [<c09d1b3c>]
> (clk_calc_new_rates+0xa0/0x240)
> [    1.211647] [<c09d1b3c>] (clk_calc_new_rates) from [<c09d34f8>]
> (clk_core_set_rate_nolock+0x4c/0xbc)
> [    1.220798] [<c09d34f8>] (clk_core_set_rate_nolock) from [<c09d3590>]
> (clk_set_rate+0x28/0x38)
> [    1.229432] [<c09d3590>] (clk_set_rate) from [<c0942bd4>]
> (sunxi_ir_probe+0xfc/0x480)
> [    1.420454] [<c0942bd4>] (sunxi_ir_probe) from [<c07a6784>]
> (platform_drv_pro
> be+0x58/0xa4)
>
> ...
>
> And it fails to find any mmc controllers, but that might be related to
> the above oops (maybe it stops probing after that due to a stuck lock).

This is related to the regulators, specifically cold boot default
values for ldo_ios causing the regulators to fail to register. You
actually fixed this for the axp22x's before.

There's also the addressing issue for the axp806.

See the top of https://github.com/wens/linux/commits/sun9i-gmac-wifi
for the bunch of fixes I need to send.

> Anyways the u-boot side looks good. One issue I see is that your
> optimus has an emmc, where as mine has a nand. We may want to
> gave 2 optimus defconfigs for this once we've nand support.

Hmm... This implies the need for 2 versions of dts files as well.
Any ideas on probing for nand/emmc during boot?

Regards
ChenYu

> Regards,
>
> Hans
>
>
>
>> and try to get it included in the 2016.11 release, yes the merge
>> window has closed, but the changes here are very isolated so
>> I will try and see what Tom says :)
>>
>> Regards,
>>
>> Hans
>>
>>
>> *) Which I hope to send out this weekend
>>
>>
>>
>>>
>>>
>>> Regards
>>> ChenYu
>>>
>>>
>>> Chen-Yu Tsai (5):
>>>   sunxi: Set default CPU clock rate to 1008 MHz for sun9i (A80)
>>>   sunxi: Add support for SID e-fuses on sun9i
>>>   sunxi: Add default zq value for sun9i (A80)
>>>   sunxi: Add support for A80 Optimus board
>>>   sunxi: Add support for Cubieboard4
>>>
>>> Philipp Tomsich (6):
>>>   sunxi: DRAM initialisation for sun9i
>>>   sunxi: add gtbus-initialisation for sun9i
>>>   sunxi: Enable SMP mode for the boot CPU on sun9i (A80)
>>>   sunxi: add initial clock setup for sun9i for SPL
>>>   sunxi: enable SPL for sun9i
>>>   sunxi: add MMC pinmux setup for SDC2 on sun9i
>>>
>>>  arch/arm/include/asm/arch-sunxi/clock_sun9i.h |  116 ++-
>>>  arch/arm/include/asm/arch-sunxi/cpu_sun9i.h   |   10 +
>>>  arch/arm/include/asm/arch-sunxi/dram.h        |    2 +
>>>  arch/arm/include/asm/arch-sunxi/dram_sun9i.h  |  275 +++++++
>>>  arch/arm/include/asm/arch-sunxi/gtbus.h       |   21 +
>>>  arch/arm/include/asm/arch-sunxi/gtbus_sun9i.h |   89 +++
>>>  arch/arm/mach-sunxi/Makefile                  |    2 +
>>>  arch/arm/mach-sunxi/board.c                   |    3 +-
>>>  arch/arm/mach-sunxi/clock.c                   |    6 +
>>>  arch/arm/mach-sunxi/clock_sun9i.c             |  146 +++-
>>>  arch/arm/mach-sunxi/dram_sun9i.c              | 1059
>>> +++++++++++++++++++++++++
>>>  arch/arm/mach-sunxi/gtbus_sun9i.c             |   48 ++
>>>  board/sunxi/Kconfig                           |   10 +-
>>>  board/sunxi/MAINTAINERS                       |   10 +
>>>  board/sunxi/board.c                           |    7 +
>>>  configs/A80_Optimus_defconfig                 |   18 +
>>>  configs/Cubieboard4_defconfig                 |   18 +
>>>  17 files changed, 1818 insertions(+), 22 deletions(-)
>>>  create mode 100644 arch/arm/include/asm/arch-sunxi/dram_sun9i.h
>>>  create mode 100644 arch/arm/include/asm/arch-sunxi/gtbus.h
>>>  create mode 100644 arch/arm/include/asm/arch-sunxi/gtbus_sun9i.h
>>>  create mode 100644 arch/arm/mach-sunxi/dram_sun9i.c
>>>  create mode 100644 arch/arm/mach-sunxi/gtbus_sun9i.c
>>>  create mode 100644 configs/A80_Optimus_defconfig
>>>  create mode 100644 configs/Cubieboard4_defconfig
>>>
>
> --
> 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+unsubscribe at googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.


More information about the U-Boot mailing list