Hi Quentin,

On Mon, 9 Oct 2023 at 19:25, Quentin Schulz
<[email protected]> wrote:
>
> Hi Anthony,
>
> On 10/7/23 01:26, Anthony Davies via lists.yoctoproject.org wrote:
> > From: Anthony Davies <[email protected]>
> >
> > Add support for the Radxa Rock 3A
> > https://wiki.radxa.com/Rock3/3a
> >
> > The TF-A project does not currently have support for
> > the rk3568. Therefore, for the time-being, the only way to supply a
> > TPL/DDR-init for the rk3568 is to use the closed-source rkbin binaries
> > from Rockchip. If/when TF-A adds support for the rk3588 we can investigate
> > switching.
> >
> > recipes-bsp/rkbin/rockchip-rkbin_git.bb was modified to allow a machine
> > override to allow both rk3568 and rk3588s to use differnet binary blobs
> >
> > Signed-off-by: Anthony Davies <[email protected]>
> > ---
> >   README                                  |  1 +
> >   conf/machine/include/rk3568.inc         | 17 +++++++++++++++++
> >   conf/machine/rock-3a.conf               | 12 ++++++++++++
> >   recipes-bsp/rkbin/rockchip-rkbin_git.bb | 16 +++++++++++++++-
> >   recipes-bsp/u-boot/u-boot%.bbappend     |  5 +++++
> >   5 files changed, 50 insertions(+), 1 deletion(-)
> >   create mode 100644 conf/machine/include/rk3568.inc
> >   create mode 100644 conf/machine/rock-3a.conf
> >
> > diff --git a/README b/README
> > index 8104474..3357b47 100644
> > --- a/README
> > +++ b/README
> > @@ -32,6 +32,7 @@ Status of supported boards:
> >               nanopi-r4s
> >               rock-5b
> >               nanopi-r2s
> > +    rock-3a
>
> Please use the same indentation here so it's aligned with the other boards.
>
> It's 2 tabs for the indentation there it seems.

This would be my vim converting my \t to spaces. I will update and resend.

>
> >       builds:
> >               marsboard-rk3066
> >               radxarock
> > diff --git a/conf/machine/include/rk3568.inc 
> > b/conf/machine/include/rk3568.inc
> > new file mode 100644
> > index 0000000..5382b58
> > --- /dev/null
> > +++ b/conf/machine/include/rk3568.inc
> > @@ -0,0 +1,17 @@
> > +MACHINEOVERRIDES =. "rk3568:"
> > +DEFAULTTUNE ?= "cortexa55"
> > +
> > +require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
> > +require conf/machine/include/rockchip-defaults.inc
> > +require conf/machine/include/rockchip-wic.inc
> > +
> > +KBUILD_DEFCONFIG ?= "defconfig"
> > +KERNEL_FEATURES:append:rk3568 = " 
> > bsp/rockchip/remove-non-rockchip-arch-arm64.scc"
> > +KERNEL_CLASSES ??= "kernel-fitimage"
> > +KERNEL_IMAGETYPE ??= "fitImage"
> > +
> > +PREFERRED_PROVIDER_trusted-firmware-a = "rockchip-rkbin"
> > +PREFERRED_PROVIDER_optee-os = "rockchip-rkbin"
> > +
> > +UBOOT_SUFFIX ?= "itb"
> > +UBOOT_ENTRYPOINT ?= "0x06000000"
> > diff --git a/conf/machine/rock-3a.conf b/conf/machine/rock-3a.conf
> > new file mode 100644
> > index 0000000..2ed83a3
> > --- /dev/null
> > +++ b/conf/machine/rock-3a.conf
> > @@ -0,0 +1,12 @@
> > +#@TYPE: Machine
> > +#@NAME: Radxa Rock 3a
> > +#@DESCRIPTION: ROCK3 is a series of Rockchip RK3566/RK3568 based
> > +#SBC(Single Board Computer) and Compute Module by Radxa.
> > +#https://wiki.radxa.com/Rock3
> > +
> > +require conf/machine/include/rk3568.inc
> > +
> > +KERNEL_DEVICETREE = "rockchip/rk3568-rock-3a.dtb"
> > +MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> > +
> > +UBOOT_MACHINE = "rock-3a-rk3568_defconfig"
> > diff --git a/recipes-bsp/rkbin/rockchip-rkbin_git.bb 
> > b/recipes-bsp/rkbin/rockchip-rkbin_git.bb
> > index 7fefb01..273f394 100644
> > --- a/recipes-bsp/rkbin/rockchip-rkbin_git.bb
> > +++ b/recipes-bsp/rkbin/rockchip-rkbin_git.bb
> > @@ -14,6 +14,7 @@ S = "${WORKDIR}/git"
> >
> >   COMPATIBLE_MACHINE = ""
> >   COMPATIBLE_MACHINE:rk3588s = "rk3588s"
> > +COMPATIBLE_MACHINE:rk3568 = "rk3568"
> >
> >   PACKAGE_ARCH = "${MACHINE_ARCH}"
> >
> > @@ -25,7 +26,16 @@ do_install() {
> >   PACKAGES = "${PN}"
> >   ALLOW_EMPTY:${PN} = "1"
> >
> > -do_deploy() {
> > +do_deploy:rk3568() {
> > +     # Prebuilt TF-A
> > +     install -m 644 ${S}/bin/rk35/rk3568_bl31_v*.elf 
> > ${DEPLOYDIR}/bl31-rk3568.elf
> > +     # Prebuilt OPTEE-OS
> > +     install -m 644 ${S}/bin/rk35/rk3568_bl32_v*.bin 
> > ${DEPLOYDIR}/tee-rk3568.bin
> > +     # Prebuilt U-Boot TPL (DDR init)
> > +     install -m 644 ${S}/bin/rk35/rk3568_ddr_1560MHz_v1.18.bin 
> > ${DEPLOYDIR}/ddr-rk3568.bin
> > +}
> > +
> > +do_deploy:rk3588s() {
> >       # Prebuilt TF-A
> >       install -m 644 ${S}/bin/rk35/rk3588_bl31_v*.elf 
> > ${DEPLOYDIR}/bl31-rk3588.elf
> >       # Prebuilt OPTEE-OS
> > @@ -34,4 +44,8 @@ do_deploy() {
> >       install -m 644 
> > ${S}/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v*.bin 
> > ${DEPLOYDIR}/ddr-rk3588.bin
> >   }
> >
> > +do_deploy() {
> > +# Needed as a default perhaps a bb.fatal with a message saying an override 
> > needs to be set
> > +}
> > +
>
> Well, we could, but also... the recipe won't be used until you add to
> COMPATIBLE_MACHINE, which means the recipe should have been working by
> the time you add it. Not entirely sure how much we want to prevent users
> to shoot their own foot honestly. But I guess it's such a small change
> that adding it is probably better than just arguing whether we need it
> or not, so maybe send another patch to add the bb.fatal :) ?

If I am updating the other I will just add this to the existing patch.
I was tempted to add the obligatory "Don't know how I got here" but
didnt seem very useful and I had similar thoughts to you around if a
bb.fatal was actually required.

>
> Cheers,
> Quentin
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#61282): https://lists.yoctoproject.org/g/yocto/message/61282
Mute This Topic: https://lists.yoctoproject.org/mt/101808918/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to