On Fri, Jan 28, 2022 at 05:48:11PM +0100, Michael Riesch wrote:
> Hello Michael,
>
> On 1/28/22 17:10, Michael Olbrich wrote:
> > On Fri, Jan 28, 2022 at 04:26:23PM +0100, Michael Riesch wrote:
> >> Hello Michael,
> >>
> >> Thanks for your review. I'll prepare a v6!
> >>
> >> On 1/28/22 13:33, Michael Olbrich wrote:
> >>> On Mon, Jan 24, 2022 at 01:09:42PM +0100, Michael Riesch wrote:
> >>>> Currently, the mainline OP-TEE and TF-A sources do not support the
> >>>> RK356x SoCs. Therefore, the only option is to use the binary blobs
> >>>> provided by Rockchip. This patch integrates these blobs (along the SDRAM
> >>>> initialization binary) for the Pine64 Quartz64 board and the RK3568
> >>>> EVB1 into barebox.
> >>>>
> >>>> Signed-off-by: Michael Riesch <[email protected]>
> >>>> ---
> >>>> platforms/barebox.rockchip.in | 13 +++++++++++++
> >>>> rules/barebox.rockchip.make | 18 ++++++++++++++++++
> >>>> 2 files changed, 31 insertions(+)
> >>>> create mode 100644 rules/barebox.rockchip.make
> >>>>
> >>>> diff --git a/platforms/barebox.rockchip.in
> >>>> b/platforms/barebox.rockchip.in
> >>>> index 8ecdb0762..9aad4eaf8 100644
> >>>> --- a/platforms/barebox.rockchip.in
> >>>> +++ b/platforms/barebox.rockchip.in
> >>>> @@ -1 +1,14 @@
> >>>> ## SECTION=barebox_firmware
> >>>> +
> >>>> +config BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>> + prompt "barebox needs firmware-rockchip"
> >>>> + bool
> >>>> + depends on ARCH_ARM64
> >>>> + select FIRMWARE_ROCKCHIP if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>
> >>> This does not work. It must look like this or the build dependency is not
> >>> created:
> >>>
> >>> config BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>> prompt "barebox needs firmware-rockchip"
> >>> bool
> >>> depends on ARCH_ARM64
> >>>
> >>> config BAREBOX
> >>> select FIRMWARE_ROCKCHIP if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>
> >>> Multiple occurrences of the same symbol are merged, so this works just
> >>> fine as long as 'BAREBOX' is fully defined somewhere else.
> >>
> >> I tried this approach but it returns the error
> >>
> >> .../ptxdist/platforms/barebox.in:11:error: recursive dependency detected!
> >> .../ptxdist/platforms/barebox.in:11: symbol BAREBOX depends on
> >> BAREBOX
> >>
> >> Any idea what could be wrong here?
> >
> > Ah, if we resolve any 'source' commands etc. then the whole thing looks
> > basically like this:
> >
> > if BAREBOX
> > if BAREBOX_FIRMWARE
> >
> > config BAREBOX
> > select FIRMWARE_ROCKCHIP if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >
> > endif
> > endif
> >
> > and that's the same as
> >
> > config BAREBOX
> > depends on BAREBOX
> > depends on BAREBOX_FIRMWARE
> > select FIRMWARE_ROCKCHIP if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >
> > I think, the only idea is to split that in two files. On with
> > SECTION=barebox_firmware and one with SECTION=bootloader.
>
> Would some kind of dependency symbol do the trick? For example,
>
> in barebox.in:
>
> config BAREBOXDEP
Hmmm, try this:
config BAREBOXDEP
tristate
select VIRTUAL
But I think that will still create a dependency loop because BAREBOX
selects BAREBOXDEP and BAREBOXDEP depends on BAREBOX.
Michael
>
> menuconfig BAREBOX
> select BAREBOXDEP
>
> if BAREBOX
> menuconfig BAREBOX_FIRMWARE
> ...
> endif
>
> and in barebox.rockchip.in:
>
> config BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
>
> config BAREBOXDEP
> select FIRMWARE_ROCKCHIP if BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
>
> ?
>
> Thanks and best regards,
> Michael
>
> >
> > It's not very nice, but I don't have a better idea.
> >
> > Michael
> >
> >
> >>>> + select FIRMWARE_ROCKCHIP_RK356x_BL31 if
> >>>> BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>> + select FIRMWARE_ROCKCHIP_RK356x_BL32 if
> >>>> BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>> + select FIRMWARE_ROCKCHIP_RK3566_SDRAM if
> >>>> BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>> + select FIRMWARE_ROCKCHIP_RK3568_SDRAM if
> >>>> BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>> + help
> >>>> + Select this if barebox needs the non-free Rockchip firmware
> >>>> + blobs.
> >>>> diff --git a/rules/barebox.rockchip.make b/rules/barebox.rockchip.make
> >>>> new file mode 100644
> >>>> index 000000000..0255b2b4d
> >>>> --- /dev/null
> >>>> +++ b/rules/barebox.rockchip.make
> >>>> @@ -0,0 +1,18 @@
> >>>> +# -*-makefile-*-
> >>>> +#
> >>>> +# Copyright (C) 2021 by Michael Riesch <[email protected]>
> >>>> +#
> >>>> +# For further information about the PTXdist project and license
> >>>> conditions
> >>>> +# see the README file.
> >>>> +#
> >>>> +
> >>>> +ifdef PTXCONF_BAREBOX_NEEDS_FIRMWARE_ROCKCHIP
> >>>> +
> >>>> +BAREBOX_INJECT_FILES +=
> >>>> rk3568_bl31_v1.24.elf:firmware/rk3568-bl31.bin
> >>>> +BAREBOX_INJECT_FILES +=
> >>>> rk3568_bl32_v1.05.bin:firmware/rk3568-op-tee.bin
> >>>> +
> >>>> +BAREBOX_INJECT_FILES +=
> >>>> rk3566_ddr_1056MHz_v1.08.bin:arch/arm/boards/pine64-quartz64/sdram-init.bin
> >>>> +
> >>>> +BAREBOX_INJECT_FILES +=
> >>>> rk3568_ddr_1560MHz_v1.08.bin:arch/arm/boards/rockchip-rk3568-evb/sdram-init.bin
> >>>> +
> >>>> +endif
> >>>> --
> >>>> 2.30.2
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> ptxdist mailing list
> >>>> [email protected]
> >>>> To unsubscribe, send a mail with subject "unsubscribe" to
> >>>> [email protected]
> >>>>
> >>>
> >>
> >
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to
[email protected]