mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: Michael Riesch <michael.riesch@wolfvision.net>
Cc: ptxdist@pengutronix.de, m.tretter@pengutronix.de
Subject: Re: [ptxdist] [RFC PATCH v5 5/5] barebox.rockchip: add binary firmware blobs for quartz64 and rk3568-evb1
Date: Fri, 28 Jan 2022 21:08:42 +0100	[thread overview]
Message-ID: <20220128200842.GF11273@pengutronix.de> (raw)
In-Reply-To: <c59c4306-0e08-72a5-6b8e-71d64fed2f89@wolfvision.net>

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 <michael.riesch@wolfvision.net>
> >>>> ---
> >>>>  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 <michael.riesch@wolfvision.net>
> >>>> +#
> >>>> +# 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
> >>>> ptxdist@pengutronix.de
> >>>> To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
> >>>>
> >>>
> >>
> > 
> 

-- 
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
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de


      reply	other threads:[~2022-01-28 20:09 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-24 12:09 [ptxdist] [PATCH v5 0/5] Add support for Rockchip firmware blobs Michael Riesch
2022-01-24 12:09 ` [ptxdist] [PATCH v5 1/5] platforms: add section for non-free " Michael Riesch
2022-01-24 12:09 ` [ptxdist] [PATCH v5 2/5] add package for rockchip firmware binaries Michael Riesch
2022-01-28 12:31   ` Michael Olbrich
2022-01-28 12:46     ` Michael Riesch
2022-01-28 12:59       ` Michael Olbrich
2022-01-28 13:46         ` Michael Riesch
2022-01-24 12:09 ` [ptxdist] [PATCH v5 3/5] scripts: add helper to inject files into a source directory Michael Riesch
2022-01-28 12:27   ` Michael Olbrich
2022-01-24 12:09 ` [ptxdist] [PATCH v5 4/5] barebox: add integration of firmware blobs Michael Riesch
2022-01-28 12:28   ` Michael Olbrich
2022-01-24 12:09 ` [ptxdist] [RFC PATCH v5 5/5] barebox.rockchip: add binary firmware blobs for quartz64 and rk3568-evb1 Michael Riesch
2022-01-28 12:33   ` Michael Olbrich
2022-01-28 15:26     ` Michael Riesch
2022-01-28 16:10       ` Michael Olbrich
2022-01-28 16:48         ` Michael Riesch
2022-01-28 20:08           ` Michael Olbrich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220128200842.GF11273@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=m.tretter@pengutronix.de \
    --cc=michael.riesch@wolfvision.net \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox