[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