[U-Boot] [linux-sunxi] Re: [PATCH 14/17] sunxi: Pine64: defconfig: enable SPL FIT support
André Przywara
andre.przywara at arm.com
Sun Mar 5 10:40:54 UTC 2017
On 05/03/17 04:06, Jonathan Gray wrote:
> On Fri, Mar 03, 2017 at 09:55:25AM +0000, Andre Przywara wrote:
>> Hi,
>>
>> On 03/03/17 09:22, Maxime Ripard wrote:
>>> On Thu, Mar 02, 2017 at 12:03:20AM +0800, Icenowy Zheng wrote:
>>>>
>>>> 2017???3???1??? 23:51??? Maxime Ripard <maxime.ripard at free-electrons.com>?????????
>>>>>
>>>>> Hi Andre,
>>>>>
>>>>> On Wed, Mar 01, 2017 at 02:25:26AM +0000, Andre Przywara wrote:
>>>>>> The Pine64 (and all other 64-bit Allwinner boards) need to load an
>>>>>> ARM Trusted Firmware image beside the actual U-Boot proper.
>>>>>> This can now be easily achieved by using the just extended SPL FIT
>>>>>> loading support, so enable it in the Pine64 defconfig.
>>>>>> Also add the FIT image as a build target to 64-bit sunxi board to
>>>>>> trigger the respective Makefile rules.
>>>>>>
>>>>>> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
>>>>>> ---
>>>>>> configs/pine64_plus_defconfig | 6 ++++++
>>>>>> include/configs/sunxi-common.h | 4 ++++
>>>>>> 2 files changed, 10 insertions(+)
>>>>>>
>>>>>> diff --git a/configs/pine64_plus_defconfig b/configs/pine64_plus_defconfig
>>>>>> index 7c7d86f..2b47157 100644
>>>>>> --- a/configs/pine64_plus_defconfig
>>>>>> +++ b/configs/pine64_plus_defconfig
>>>>>> @@ -3,9 +3,14 @@ CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER=y
>>>>>> CONFIG_ARCH_SUNXI=y
>>>>>> CONFIG_MACH_SUN50I=y
>>>>>> CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pine64-plus"
>>>>>> +CONFIG_OF_LIST="sun50i-a64-pine64 sun50i-a64-pine64-plus"
>>>>>> # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>>>>>> CONFIG_CONSOLE_MUX=y
>>>>>> CONFIG_SPL=y
>>>>>> +CONFIG_FIT=y
>>>>>> +CONFIG_SPL_FIT=y
>>>>>> +CONFIG_SPL_LOAD_FIT=y
>>>>>> +CONFIG_SPL_OF_LIBFDT=y
>>>>>
>>>>> I'm not sure we want to force down that support to all our users.
>>>>
>>>> A64 boards are now unusable without proper ATF.
>>>
>>> That's debatable, but that's not really what I meant. What I meant was
>>> that they're perfectly usable without FIT.
>>
>> But this is a defconfig for a certain, and the Pine64 is not really
>> usable without ATF at the moment in an upstream tree.
>
> Could board/sunxi/README.pine64 be updated for the current state of
> things?
Ah, right, I forgot this, thanks for the heads up.
> Without FIT is it now possible with u-boot 2017.03 to use sunxi-spl.bin
> as a drop in replacement for Allwinner's boot0 and get a working
> combination of SPL/u-boot/ATF that can be redistributed when combining
> the parts with boot0img?
Yes, it boots - into U-Boot, but not yet into Linux. For this you need
ATF and thus this series.
> Using your repositories
> https://github.com/apritzel/arm-trusted-firmware/tree/allwinner (for ATF)
Yes.
> https://github.com/apritzel/pine64 (for boot0img)
This is now obsolete, at least with this series.
> README.pine64 still states that there is no SPL available.
>
> Does it make any sense to build a combined spl+u-boot as is done with
> the armv7 sunxi targets without ATF? Or will this not boot?
It will load and run U-Boot proper, but will crash once you try to load
Linux, because the ATF is missing.
But it would make sense to combine the SPL + u-boot.itb (which contains
the ATF) to one file. I just need to have a look what needs to be done
in the Makefile for this.
Cheers,
Andre.
> diff --git a/arch/arm/cpu/armv8/config.mk b/arch/arm/cpu/armv8/config.mk
> index 27b66d41b1..a323faf563 100644
> --- a/arch/arm/cpu/armv8/config.mk
> +++ b/arch/arm/cpu/armv8/config.mk
> @@ -12,3 +12,12 @@ PLATFORM_CPPFLAGS += $(PF_NO_UNALIGNED)
> EFI_LDS := elf_aarch64_efi.lds
> EFI_CRT0 := crt0_aarch64_efi.o
> EFI_RELOC := reloc_aarch64_efi.o
> +
> +# Build a combined spl + u-boot image
> +ifdef CONFIG_ARCH_SUNXI
> +ifdef CONFIG_SPL
> +ifndef CONFIG_SPL_BUILD
> +ALL-y += u-boot-sunxi-with-spl.bin
> +endif
> +endif
> +endif
>
More information about the U-Boot
mailing list