mbox series

[meta-rockchip,0/3] bsp: rkbin: split rkbin into separate recipes for DDR init, TF-A and OP-TEE OS

Message ID 20240927-rkbin-split-recipes-v1-0-0f4a9b0cbf56@cherry.de
Headers show
Series bsp: rkbin: split rkbin into separate recipes for DDR init, TF-A and OP-TEE OS | expand

Message

Quentin Schulz Sept. 27, 2024, 12:36 p.m. UTC
This is in preparation for being able to use upstream TF-A while still
having DDR init and OP-TEE OS come from rkbin.

This is necessary because the do_deploy task applies on the recipe level
and not package level, so if we have two recipes deploying the same file
(e.g. rkbin and trusted-firmware-a for bl31.elf), the order in which
those recipes' do_deploy task will be run will decide which binary will
be used. This is terrible, so instead the binaries provided by rkbin are
split into multiple recipes so that only what we're interested in will
be deployed.

Note that the rk3308 rkbin recipe wasn't changed but I assume we could
migrate it to this new "layout" too, I just don't have a board to test I
didn't make mistakes.

This was tested on master (styhead) branch from yesterday, plus
https://lore.kernel.org/yocto-meta-arm/20240927-tf-a-master-v1-1-733c925c80e4@cherry.de/T/#u
for meta-arm on an RK3588 Jaguar board, plus some patches that will be
sent as a separate patch series since it depends on the patch from
meta-arm to be usable.

Nothing else was build tested, but since RK356x is now supported in
upstream TF-A too, I added support for it as well.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
---
Quentin Schulz (3):
      bsp: rkbin: add .inc for factoring out reusable pieces
      bsp: rkbin: split optee-os, tf-a and ddr init from rkbin into separate recipes
      bsp: rkbin: do not add default DEPENDS dependencies

 conf/machine/include/rk3308.inc                  |  4 +-
 conf/machine/include/rk3566.inc                  |  4 +-
 conf/machine/include/rk3568.inc                  |  4 +-
 conf/machine/include/rk3588s.inc                 |  4 +-
 recipes-bsp/rkbin/rk3308-rkbin_git.bb            |  4 +-
 recipes-bsp/rkbin/rockchip-rkbin-ddr_git.bb      | 23 ++++++++
 recipes-bsp/rkbin/rockchip-rkbin-optee-os_git.bb | 27 +++++++++
 recipes-bsp/rkbin/rockchip-rkbin-tf-a_git.bb     | 27 +++++++++
 recipes-bsp/rkbin/rockchip-rkbin.inc             | 32 +++++++++++
 recipes-bsp/rkbin/rockchip-rkbin_git.bb          | 73 ------------------------
 recipes-bsp/u-boot/u-boot-rockchip.inc           |  2 +-
 11 files changed, 122 insertions(+), 82 deletions(-)
---
base-commit: 24a411a17f389650c4cea38bef1f9279117fab8e
change-id: 20240927-rkbin-split-recipes-61503f078ab6

Best regards,

Comments

Quentin Schulz Oct. 28, 2024, 2:10 p.m. UTC | #1
Hi Trevor,

Gentle ping to make sure this does get forgotten :)

Anything I can do to make the review easier for you?

Cheers,
Quentin

On 9/27/24 2:36 PM, Quentin Schulz wrote:
> This is in preparation for being able to use upstream TF-A while still
> having DDR init and OP-TEE OS come from rkbin.
> 
> This is necessary because the do_deploy task applies on the recipe level
> and not package level, so if we have two recipes deploying the same file
> (e.g. rkbin and trusted-firmware-a for bl31.elf), the order in which
> those recipes' do_deploy task will be run will decide which binary will
> be used. This is terrible, so instead the binaries provided by rkbin are
> split into multiple recipes so that only what we're interested in will
> be deployed.
> 
> Note that the rk3308 rkbin recipe wasn't changed but I assume we could
> migrate it to this new "layout" too, I just don't have a board to test I
> didn't make mistakes.
> 
> This was tested on master (styhead) branch from yesterday, plus
> https://lore.kernel.org/yocto-meta-arm/20240927-tf-a-master-v1-1-733c925c80e4@cherry.de/T/#u
> for meta-arm on an RK3588 Jaguar board, plus some patches that will be
> sent as a separate patch series since it depends on the patch from
> meta-arm to be usable.
> 
> Nothing else was build tested, but since RK356x is now supported in
> upstream TF-A too, I added support for it as well.
> 
> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
> ---
> Quentin Schulz (3):
>        bsp: rkbin: add .inc for factoring out reusable pieces
>        bsp: rkbin: split optee-os, tf-a and ddr init from rkbin into separate recipes
>        bsp: rkbin: do not add default DEPENDS dependencies
> 
>   conf/machine/include/rk3308.inc                  |  4 +-
>   conf/machine/include/rk3566.inc                  |  4 +-
>   conf/machine/include/rk3568.inc                  |  4 +-
>   conf/machine/include/rk3588s.inc                 |  4 +-
>   recipes-bsp/rkbin/rk3308-rkbin_git.bb            |  4 +-
>   recipes-bsp/rkbin/rockchip-rkbin-ddr_git.bb      | 23 ++++++++
>   recipes-bsp/rkbin/rockchip-rkbin-optee-os_git.bb | 27 +++++++++
>   recipes-bsp/rkbin/rockchip-rkbin-tf-a_git.bb     | 27 +++++++++
>   recipes-bsp/rkbin/rockchip-rkbin.inc             | 32 +++++++++++
>   recipes-bsp/rkbin/rockchip-rkbin_git.bb          | 73 ------------------------
>   recipes-bsp/u-boot/u-boot-rockchip.inc           |  2 +-
>   11 files changed, 122 insertions(+), 82 deletions(-)
> ---
> base-commit: 24a411a17f389650c4cea38bef1f9279117fab8e
> change-id: 20240927-rkbin-split-recipes-61503f078ab6
> 
> Best regards,
Quentin Schulz Nov. 14, 2024, 11:23 a.m. UTC | #2
Hi all,

On 9/27/24 2:36 PM, Quentin Schulz wrote:
> This is in preparation for being able to use upstream TF-A while still
> having DDR init and OP-TEE OS come from rkbin.
> 
> This is necessary because the do_deploy task applies on the recipe level
> and not package level, so if we have two recipes deploying the same file
> (e.g. rkbin and trusted-firmware-a for bl31.elf), the order in which
> those recipes' do_deploy task will be run will decide which binary will
> be used. This is terrible, so instead the binaries provided by rkbin are
> split into multiple recipes so that only what we're interested in will
> be deployed.
> 
> Note that the rk3308 rkbin recipe wasn't changed but I assume we could
> migrate it to this new "layout" too, I just don't have a board to test I
> didn't make mistakes.
> 
> This was tested on master (styhead) branch from yesterday, plus
> https://lore.kernel.org/yocto-meta-arm/20240927-tf-a-master-v1-1-733c925c80e4@cherry.de/T/#u
> for meta-arm on an RK3588 Jaguar board, plus some patches that will be
> sent as a separate patch series since it depends on the patch from
> meta-arm to be usable.
> 
> Nothing else was build tested, but since RK356x is now supported in
> upstream TF-A too, I added support for it as well.
> 
> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>

Just because it's unusual for Trevor to not send a mail saying it was 
merged, I do it myself here: this was merged into master.

Thanks Trevor!
Quentin