[U-Boot] [PATCH 0/6] arm64: Pine64 fixes and updates
Chen-Yu Tsai
wens at csie.org
Thu May 5 03:03:58 CEST 2016
On Thu, May 5, 2016 at 6:36 AM, André Przywara <andre.przywara at arm.com> wrote:
> On 04/05/16 23:15, Peter Robinson wrote:
>> On Wed, May 4, 2016 at 11:05 PM, André Przywara <andre.przywara at arm.com> wrote:
>>> On 04/05/16 22:53, Peter Robinson wrote:
>>>> On Wed, May 4, 2016 at 10:15 PM, Andre Przywara <andre.przywara at arm.com> wrote:
>>>>> This series improves the Pine64 support.
>>>>> The first patch fixes a build break, see details in the commit message.
>>>>> Patch 2/6 reverts a no longer needed memory reservation, as the firmware
>>>>> bits that used to live in DRAM now can reside in SRAM.
>>>>> To allow U-Boot to be easily loaded by Allwinner's boot0 loader, patch
>>>>> 3/6 reserves some space at the beginning of the image to (optionally)
>>>>> fit in a header required by boot0.
>>>>> Patch 4/6 adjusts the default load addresses in the environment to
>>>>> meet the arm64 requirements (especially the kernel load address).
>>>>> The device tree files included in the original Pine64 commit are
>>>>> outdated, so patch 5/6 replaces some with more mature versions and also
>>>>> adjusts the naming to match other sunxi boards.
>>>>> The final patch renames the _defconfig file to get rid of the _plus_
>>>>> insert.
>>>>>
>>>>> Please review, comment and apply, if possible.
>>>>
>>>> I'll test this tomorrow on my 1Gb Plus board,
>>>
>>> Thanks!
>>>
>>>> it would be good to have
>>>> a README.pine64 with details about where to get the ATF firmware from
>>>> and how to use it with this u-boot to get a booted device something
>>>> similar to README.odroid
>>>
>>> Yes, I am on the documentation.
>>
>> Cool, btw what's the redistribution license on the ATF firmware, is it
>> redistributable by distributions (like other firmware),
>
> ATF is the "ARM Trusted Firmware", which is a proper OpenSource project
> under a BSD license. The home is on github [1].
> In the moment I am working with an Allwinner provided codebase and
> having fixes on top, but I removed quite some useless code already and
> started with a proper upstream port.
> I will push the repository onto my github fork [2] (once I manage to get
> off mail and IRC ;-)
>
>> is it usable on all devices with a AllWinner A64?
>
> I would think so. A good part of the code in there is about the cores
> and the GIC: so pretty generic. In the moment all power management is on
> a SoC level - but in the future we might drive the PMIC from ATF as
> well, which would potentially differ between boards.
Unlikely, unless the board vendor has awesome hardware design skills.
The SoC and PMIC are sold as a packaged set. One does not go without
the other.
If you look at the PMIC datasheets, you'll see the application design
example and default settings match perfectly with the SoC.
ChenYu
>
>> Will it be needed with the proper SPL you mention below?
>
> Yes, the most prominent feature that ATF provides on the Pine64 is the
> PSCI service. ATF is actually the PSCI reference implementation, so it
> does the right thing and is more advanced than what U-Boot provides, for
> instance.
> Also ATF cares about some errata fixups for various cores, some of them
> can only be provided by firmware (in EL3).
>
> So I think ATF should take over the actual firmware load that U-Boot
> carried in the past for various boards as well.
> For the Pine64 I would very much like U-Boot to be just a boot loader.
>
>>> As we lack DRAM initialization at the moment, I use a tool to assemble
>>> all the firmware bits together with boot0 into an image.
>>> This should supersede Alex' pine64_image tool.
>>
>> OK, I've been using Alex's tool to date.
>>
>>> Shall this tool (written in C) also be part of U-Boot, say in the tools
>>> directory? Or is this better pushed into the sunxi-tools repository?
>>> Eventually with a proper SPL we will not need it anymore, so I refrained
>>> from pushing it into U-Boot for now.
>>
>> TBH I've no idea what's best here, I suppose it depends on timeframes,
>> it might just be useful to put it in a git repo somewhere and
>> reference it in a readme, once there's patches that have the proper
>> SPL update the readme as part of it.
>
> Yes, expect it to appear on [3] anytime soon.
>
> Cheers,
> Andre.
>
> [1] https://github.com/ARM-software/arm-trusted-firmware
> [2] https://github.com/apritzel/arm-trusted-firmware
> [3] https://github.com/apritzel/pine64
>
>>>>
>>>>> P.S. tools/buildman/README was TL;DR, so I just tested Pine64 and
>>>>> Bananapi compilation. If someone with a working buildman setup could
>>>>> test this for build regressions, I'd be grateful.
>>>>>
>>>>> Andre Przywara (6):
>>>>> arm/arm64: Move barrier instructions into separate header
>>>>> Revert "sunxi: Reserve ATF memory space on A64"
>>>>> arm64: sunxi: reserve space for boot0 header
>>>>> arm64: sunxi: adjust default load addresses
>>>>> arm64: Pine64: update FDT files
>>>>> Pine64: rename defconfig
>>>>>
>>>>> arch/arm/cpu/armv8/start.S | 3 +
>>>>> arch/arm/dts/Makefile | 3 +-
>>>>> arch/arm/dts/a64.dtsi | 564 --------------------------
>>>>> arch/arm/dts/pine64.dts | 62 ---
>>>>> arch/arm/dts/pine64_common.dtsi | 76 ----
>>>>> arch/arm/dts/pine64_plus.dts | 63 ---
>>>>> arch/arm/dts/sun50i-a64-pine64-common.dtsi | 80 ++++
>>>>> arch/arm/dts/sun50i-a64-pine64-plus.dts | 59 +++
>>>>> arch/arm/dts/sun50i-a64-pine64.dts | 58 +++
>>>>> arch/arm/dts/sun50i-a64.dtsi | 624 +++++++++++++++++++++++++++++
>>>>> arch/arm/include/asm/armv7.h | 21 +-
>>>>> arch/arm/include/asm/barriers.h | 44 ++
>>>>> arch/arm/mach-sunxi/dram_helpers.c | 2 +-
>>>>> board/sunxi/board.c | 9 -
>>>>> configs/pine64_defconfig | 20 +
>>>>> configs/pine64_plus_defconfig | 20 -
>>>>> include/configs/sunxi-common.h | 18 +
>>>>> 17 files changed, 910 insertions(+), 816 deletions(-)
>>>>> delete mode 100644 arch/arm/dts/a64.dtsi
>>>>> delete mode 100644 arch/arm/dts/pine64.dts
>>>>> delete mode 100644 arch/arm/dts/pine64_common.dtsi
>>>>> delete mode 100644 arch/arm/dts/pine64_plus.dts
>>>>> create mode 100644 arch/arm/dts/sun50i-a64-pine64-common.dtsi
>>>>> create mode 100644 arch/arm/dts/sun50i-a64-pine64-plus.dts
>>>>> create mode 100644 arch/arm/dts/sun50i-a64-pine64.dts
>>>>> create mode 100644 arch/arm/dts/sun50i-a64.dtsi
>>>>> create mode 100644 arch/arm/include/asm/barriers.h
>>>>> create mode 100644 configs/pine64_defconfig
>>>>> delete mode 100644 configs/pine64_plus_defconfig
>>>>>
>>>>> --
>>>>> 2.7.3
>>>>>
>>>>> _______________________________________________
>>>>> U-Boot mailing list
>>>>> U-Boot at lists.denx.de
>>>>> http://lists.denx.de/mailman/listinfo/u-boot
>>>>
>>>
>>
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
More information about the U-Boot
mailing list