All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trevor Woerner <twoerner@gmail.com>
To: yocto-patches@lists.yoctoproject.org
Cc: Quentin Schulz <quentin.schulz@cherry.de>
Subject: Re: [yocto-patches] [meta-rockchip PATCH 5/6] bsp: rkbin: ddr: factor out do_deploy to be SoC-agnostic
Date: Tue, 15 Apr 2025 14:07:09 -0400	[thread overview]
Message-ID: <20250415180709.GA9633@localhost> (raw)
In-Reply-To: <20250311-ddrbin-custom-v1-5-e5c994ac25e1@cherry.de>

On Tue 2025-03-11 @ 12:26:34 PM, Quentin Schulz via lists.yoctoproject.org wrote:
> From: Quentin Schulz <quentin.schulz@cherry.de>
> 
> The do_deploy task is essentially the same for all SoCs, install a file
> from a specific path to another one.
> 
> No magic involved, so let's rather have one generic do_deploy task. For
> this to work nicely, we check that all necessary variables are set and
> notify the developer otherwise. This may be useful whenever a new SoC
> will be supported by this recipe.
> 
> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
> ---
>  recipes-bsp/rkbin/rockchip-rkbin-ddr_git.bb | 33 +++++++++++++++--------------
>  1 file changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/recipes-bsp/rkbin/rockchip-rkbin-ddr_git.bb b/recipes-bsp/rkbin/rockchip-rkbin-ddr_git.bb
> index 193d0f00a6868f050a0ff4531278b3296d3eae94..17131b6d5a6b443409eacb5806e0613b292852d7 100644
> --- a/recipes-bsp/rkbin/rockchip-rkbin-ddr_git.bb
> +++ b/recipes-bsp/rkbin/rockchip-rkbin-ddr_git.bb
> @@ -8,40 +8,41 @@ DDRBIN_FILE:rk3308 ?= "rk3308_ddr_589MHz_uart4_m0_${DDRBIN_VERS}.bin"
>  DDRBIN_DEPLOY_FILENAME:rk3308 ?= "ddr-rk3308.bin"
>  DDRBIN_TOOL_SOC:rk3308 ?= "rk3308"
>  
> -do_deploy:rk3308() {
> -	# Prebuilt U-Boot TPL (DDR init)
> -	install -m 644 ${S}/${DDRBIN_DIR}${DDRBIN_FILE} ${DEPLOYDIR}/${DDRBIN_DEPLOY_FILENAME}
> -}
> -
>  DDRBIN_DIR:rk3566 ?= "bin/rk35/"
>  DDRBIN_VERS:rk3566 ?= "v1.23"
>  DDRBIN_FILE:rk3566 ?= "rk3566_ddr_1056MHz_${DDRBIN_VERS}.bin"
>  DDRBIN_DEPLOY_FILENAME:rk3566 ?= "ddr-rk3566.bin"
>  DDRBIN_TOOL_SOC:rk3566 ?= "rk356x"
>  
> -do_deploy:rk3566() {
> -	# Prebuilt U-Boot TPL (DDR init)
> -	install -m 644 ${S}/${DDRBIN_DIR}${DDRBIN_FILE} ${DEPLOYDIR}/${DDRBIN_DEPLOY_FILENAME}
> -}
> -
>  DDRBIN_DIR:rk3568 ?= "bin/rk35/"
>  DDRBIN_VERS:rk3568 ?= "v1.23"
>  DDRBIN_FILE:rk3568 ?= "rk3568_ddr_1560MHz_${DDRBIN_VERS}.bin"
>  DDRBIN_DEPLOY_FILENAME:rk3568 ?= "ddr-rk3568.bin"
>  DDRBIN_TOOL_SOC:rk3568 ?= "rk356x"
>  
> -do_deploy:rk3568() {
> -	# Prebuilt U-Boot TPL (DDR init)
> -	install -m 644 ${S}/${DDRBIN_DIR}${DDRBIN_FILE} ${DEPLOYDIR}/${DDRBIN_DEPLOY_FILENAME}
> -}
> -
>  DDRBIN_DIR:rk3588s ?= "bin/rk35/"
>  DDRBIN_VERS:rk3588s ?= "v1.18"
>  DDRBIN_FILE:rk3588s ?= "rk3588_ddr_lp4_2112MHz_lp5_2400MHz_${DDRBIN_VERS}.bin"
>  DDRBIN_DEPLOY_FILENAME:rk3588s ?= "ddr-rk3588.bin"
>  DDRBIN_TOOL_SOC:rk3588s ?= "rk3588"
>  
> -do_deploy:rk3588s() {
> +do_deploy() {
> +	if [ -z "${DDRBIN_DIR}" ]; then
> +		bbfatal "Non-empty DDRBIN_DIR:<MACHINE> required!"
> +	fi
> +
> +	if [ -z "${DDRBIN_VERS}" ]; then
> +		bbfatal "Non-empty DDRBIN_VERS:<MACHINE> required!"
> +	fi
> +
> +	if [ -z "${DDRBIN_FILE}" ]; then
> +		bbfatal "Non-empty DDRBIN_FILE:<MACHINE> required!"
> +	fi
> +
> +	if [ -z "${DDRBIN_DEPLOY_FILENAME}" ]; then
> +		bbfatal "Non-empty DDRBIN_DEPLOY_FILENAME:<MACHINE> required!"
> +	fi
> +
>  	# Prebuilt U-Boot TPL (DDR init)
>  	install -m 644 ${S}/${DDRBIN_DIR}${DDRBIN_FILE} ${DEPLOYDIR}/${DDRBIN_DEPLOY_FILENAME}
>  }

This is nice, but the problem with this patch is that the rkbin handling
involves 4 files:
	- rockchip-rkbin.inc
	- rockchip-rkbin-ddr_git.bb
	- rockchip-rkbin-optee-os_git.bb
	- rockchip-rkbin-tf-a_git.bb

In the *inc file it says:

	 28 do_deploy() {
	 29         bbfatal "COMPATIBLE_MACHINE requires a corresponding do_deploy:<MACHINE>() override"
	 30 }

These machine-specific overrides are found in both:
	- rockchip-rkbin-optee-os_git.bb and -
	rockchip-rkbin-tf-a_git.bb
but, with this patch, not in rockchip-rkbin-ddr_git.bb.

I like what you've done, but I would prefer they all follow the same
"template". Either:
	1) modify rockchip-rkbin-optee-os_git.bb and
	rockchip-rkbin-tf-a_git.bb to match and update the bbfatal in
	rockchip-rkbin.inc so it makes sense, or

	2) skip this patch

I don't have a strong preference either way, but I do have a strong desire
that they all match.


  reply	other threads:[~2025-04-15 18:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-11 11:26 [meta-rockchip PATCH 0/6] rkbin: factoring ddrbin do_deploy, customize ddrbin and bump rkbin Quentin Schulz
2025-03-11 11:26 ` [meta-rockchip PATCH 1/6] bsp: rkbin: ddr: store directory path for the DDR bin blob in a variable Quentin Schulz
2025-03-11 11:26 ` [meta-rockchip PATCH 2/6] bsp: rkbin: ddr: make deployed name configurable Quentin Schulz
2025-03-11 11:26 ` [meta-rockchip PATCH 3/6] bsp: rkbin: add native recipe for tools (ddrbin_tool.py) Quentin Schulz
2025-03-11 11:26 ` [meta-rockchip PATCH 4/6] bsp: rkbin: ddr: allow to customize DDR bin blob Quentin Schulz
2025-03-11 11:26 ` [meta-rockchip PATCH 5/6] bsp: rkbin: ddr: factor out do_deploy to be SoC-agnostic Quentin Schulz
2025-04-15 18:07   ` Trevor Woerner [this message]
2025-04-16 11:25     ` [yocto-patches] " Quentin Schulz
2025-03-11 11:26 ` [meta-rockchip PATCH 6/6] bsp: rkbin: bump to latest commit in master branch Quentin Schulz
2025-04-10 11:01 ` [meta-rockchip PATCH 0/6] rkbin: factoring ddrbin do_deploy, customize ddrbin and bump rkbin Quentin Schulz
2025-04-15 18:14 ` [yocto-patches] " Trevor Woerner
2025-04-16 10:17   ` Quentin Schulz

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=20250415180709.GA9633@localhost \
    --to=twoerner@gmail.com \
    --cc=quentin.schulz@cherry.de \
    --cc=yocto-patches@lists.yoctoproject.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.