From: Trevor Woerner <twoerner@gmail.com>
To: yocto-patches@lists.yoctoproject.org
Subject: Re: [yocto-patches] [meta-rockchip][PATCH v2 2/2] radxa-zero-3e: add
Date: Thu, 13 Jun 2024 11:41:28 -0400 [thread overview]
Message-ID: <20240613154128.GB33883@localhost> (raw)
In-Reply-To: <e049c688-be1c-49e0-b922-d4f44c94885c@cherry.de>
On Thu 2024-06-13 @ 04:11:01 PM, Quentin Schulz via lists.yoctoproject.org wrote:
> Hi Trevor,
>
> On 6/13/24 3:35 PM, Trevor Woerner via lists.yoctoproject.org wrote:
> > The Radxa ZERO 3e is an ultra-small, high-performance single board computer
> > based on the Rockchip RK3566, with a compact form factor, and rich interfaces.
> >
> > http://radxa.com/products/zeros/zero3e/
> >
> > tech specs:
> > - Rockchip RK3566 (4x Arm Cortex-A55 @ 1.6GHz)
> > - Arm Mali-G52-2EE (OpenGL ES 1.1/2.0/3.0/3.1/3.2, Vulkan 1.1, OpenCL 2.0)
> > - LPDDR4 RAM (1/2/3/8 GB)
> > - µSD
> > - GbE
> > - 1x USB 2.0 Type C OTG, 1x USB 3.0 Type C Host
> > - 1x µHDMI (1080p @ 60fps)
> > - 1x MIPI CSI camera port
> > - colour-coded 40-pin GPIO (uart, spi, i2c, pcm/i2s, pwm, gpio)
> > - 72mm x 30mm
> >
> > NOTE: currently support for this board requires a U-Boot fork for the
> > bootloader, and linux-next for the kernel. Support will probably come in linux
> > kernel 6.11-ish, at which point U-Boot will then use that kernel's device tree
> > which means U-Boot support will come after the release of whichever kernel
> > includes support for this board.
> >
> > Signed-off-by: Trevor Woerner <twoerner@gmail.com>
> > ---
> > v2 changes:
> > - copy the rk3568-based bl31/bl32 pieces to have rk3566-based names so the
> > rest of the infrastructure works without tweaks
> > - uncomment/implement the "remove-non-rockchip-arch" kernel scc
> > - order/sort items
> > - cleanup/fixup the linux-torvalds-next kernel recipe:
> > - sort oe items based on the style guide
> > - remove vestigial bits
> > - use a commit id instead of a tag name
> > - update license string
> > - add DEFAULT_PREFERENCE=-1
> > - add COMPATIBLE_MACHINE
> > ---
> > README | 1 +
> > conf/machine/include/rk3566.inc | 21 ++++++++++++++++++
> > conf/machine/radxa-zero-3e.conf | 12 ++++++++++
> > recipes-bsp/rkbin/rockchip-rkbin_git.bb | 12 ++++++++++
> > recipes-bsp/u-boot/u-boot_%.bbappend | 5 +++++
> > .../linux/linux-torvalds-next_git.bb | 22 +++++++++++++++++++
> > 6 files changed, 73 insertions(+)
> > create mode 100644 conf/machine/include/rk3566.inc
> > create mode 100644 conf/machine/radxa-zero-3e.conf
> > create mode 100644 recipes-kernel/linux/linux-torvalds-next_git.bb
> >
> > diff --git a/README b/README
> > index b21e92360dcc..a9a040a4308d 100644
> > --- a/README
> > +++ b/README
> > @@ -40,6 +40,7 @@ Status of supported boards:
> > orangepi-5-plus
> > rock-3a
> > rock-4c-plus
> > + radxa-zero-3e
>
> Maybe you want to order those alphabetically as well? (But they absolutely
> aren't right now, so maybe another commit or... never :) )
>
> > builds:
> > marsboard-rk3066
> > radxarock
> > diff --git a/conf/machine/include/rk3566.inc b/conf/machine/include/rk3566.inc
> > new file mode 100644
> > index 000000000000..586d68806df6
> > --- /dev/null
> > +++ b/conf/machine/include/rk3566.inc
> > @@ -0,0 +1,21 @@
> > +SOC_FAMILY = "rk3566"
> > +
> > +DEFAULTTUNE ?= "cortexa55"
> > +
> > +ROCKCHIP_CLOSED_TPL ?= "1"
> > +
> > +require conf/machine/include/soc-family.inc
> > +require conf/machine/include/rockchip-defaults.inc
> > +require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
> > +require conf/machine/include/rockchip-wic.inc
> > +
> > +KBUILD_DEFCONFIG ?= "defconfig"
> > +KERNEL_FEATURES:append:rk3566 = " 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/radxa-zero-3e.conf b/conf/machine/radxa-zero-3e.conf
> > new file mode 100644
> > index 000000000000..3a39d6c12a1f
> > --- /dev/null
> > +++ b/conf/machine/radxa-zero-3e.conf
> > @@ -0,0 +1,12 @@
> > +#@TYPE: Machine
> > +#@NAME: Radxa Zero 3E
> > +#@DESCRIPTION: The Radxa ZERO 3e is an ultra-small, high-performance single board computer based on the Rockchip RK3566, with a compact form factor, and rich interfaces.
> > +#http://radxa.com/products/zeros/zero3e/
> > +
> > +require conf/machine/include/rk3566.inc
> > +
> > +PREFERRED_PROVIDER_virtual/kernel = "linux-torvalds-next"
> > +KERNEL_DEVICETREE = "rockchip/rk3566-radxa-zero-3e.dtb"
> > +MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
> > +
> > +UBOOT_MACHINE = "radxa-zero-3-rk3566_defconfig"
> > diff --git a/recipes-bsp/rkbin/rockchip-rkbin_git.bb b/recipes-bsp/rkbin/rockchip-rkbin_git.bb
> > index f9724ddd5cd5..1b71414e27ca 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:rk3308 = "rk3308"
> > +COMPATIBLE_MACHINE:rk3566 = "rk3566"
> > COMPATIBLE_MACHINE:rk3568 = "rk3568"
> > COMPATIBLE_MACHINE:rk3588s = "rk3588s"
> > @@ -36,6 +37,17 @@ do_deploy:rk3308() {
> > install -m 644 ${S}/bin/rk33/rk3308_ddr_589MHz_uart?_m0_v*.bin ${DEPLOYDIR}/ddr-rk3308.bin
> > }
> > +# NOTE: the following are not typos
> > +# the rk3566 uses the same bl31/2 as the rk3568
> > +do_deploy:rk3566() {
> > + # Prebuilt TF-A
> > + install -m 644 ${S}/bin/rk35/rk3568_bl31_v*.elf ${DEPLOYDIR}/bl31-rk3566.elf
> > + # Prebuilt OPTEE-OS
> > + install -m 644 ${S}/bin/rk35/rk3568_bl32_v*.bin ${DEPLOYDIR}/tee-rk3566.bin
> > + # Prebuilt U-Boot TPL (DDR init)
> > + install -m 644 ${S}/bin/rk35/rk3566_ddr_1056MHz_v1.21.bin ${DEPLOYDIR}/ddr-rk3566.bin
>
> Here you could use '*' instead of the version, up to you.
>
> > +}
> > +
> > do_deploy:rk3568() {
> > # Prebuilt TF-A
> > install -m 644 ${S}/bin/rk35/rk3568_bl31_v*.elf ${DEPLOYDIR}/bl31-rk3568.elf
> > diff --git a/recipes-bsp/u-boot/u-boot_%.bbappend b/recipes-bsp/u-boot/u-boot_%.bbappend
> > index 1f5f63459627..dca43d2a4de0 100644
> > --- a/recipes-bsp/u-boot/u-boot_%.bbappend
> > +++ b/recipes-bsp/u-boot/u-boot_%.bbappend
> > @@ -2,6 +2,11 @@ require u-boot-rockchip.inc
> > FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
> > +SRC_URI:radxa-zero-3e = "git://github.com/Kwiboo/u-boot-rockchip.git;protocol=https;branch=rk3xxx-2024.07;name=Kwiboo"
> > +SRC_URI[Kwiboo.sha256sum] = "5d102a658262f6d2d4ea0664fe58b77db4a9eb1ebc89dbd8d6f5e75c9e563810"
>
> Is this actually used? I thought the git fetcher could handle corruption on
> its own?
>
> > +SRCREV:radxa-zero-3e = "8cdf606e616baa36751f3b4adcfaefc781126c8c"
> > +SRCREV:radxa-zero-3e:rk-u-boot-env = "8cdf606e616baa36751f3b4adcfaefc781126c8c"
> > +
>
> Still don't like that we share the same recipe for essentially different
> source code, but up to you.
>
> Just being curious, did you check the generic-rk3568 defconfig in upstream
> U-Boot?
>
> > SRC_URI:append:rk-u-boot-env = " file://rockchip-enable-environment-mmc.cfg"
> > SRCREV:rk-u-boot-env = "cdfcc37428e06f4730ab9a17cc084eeb7676ea1a"
> > diff --git a/recipes-kernel/linux/linux-torvalds-next_git.bb b/recipes-kernel/linux/linux-torvalds-next_git.bb
> > new file mode 100644
> > index 000000000000..88916587e259
> > --- /dev/null
> > +++ b/recipes-kernel/linux/linux-torvalds-next_git.bb
> > @@ -0,0 +1,22 @@
> > +FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto-dev:"
> > +
> > +DESCRIPTION = "Linux Kernel"
> > +SECTION = "kernel"
> > +LICENSE = "GPL-2.0-only"
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
> > +
> > +DEFAULT_PREFERENCE = "-1"
> > +COMPATIBLE_MACHINE = ""
>
> This doesn't work, I already made the same mistake some time ago in
> meta-rockchip :)
>
> https://git.yoctoproject.org/meta-rockchip/commit/?id=36b07ec60c94eeeaa4866cc876bd6f7f8fd823e0
>
> It needs to be "^$"
D'oh!
>
> > +COMPATIBLE_MACHINE:radxa-zero-3e = "radxa-zero-3e"
> > +
> > +LINUX_VERSION = "6.10-rc3"
> > +PV = "${LINUX_VERSION}+git${SRCPV}"
> > +SRC_URI = " \
> > + git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git;protocol=https;branch=master \
> > + file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta \
> > + "
>
> You could provide a comment here stating which linuix-next tag this commit
> is referring to.
Sounds good.
I'm going to send a v3 that also includes the radxa-zero-3w, which is very
similar.
> Looks good to me otherwise,
>
> Cheers,
> Quentin
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#321): https://lists.yoctoproject.org/g/yocto-patches/message/321
> Mute This Topic: https://lists.yoctoproject.org/mt/106651710/900817
> Group Owner: yocto-patches+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto-patches/leave/13168745/900817/63955952/xyzzy [twoerner@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
next prev parent reply other threads:[~2024-06-13 15:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-13 13:35 [meta-rockchip][PATCH v2 1/2] rockchip-rkbin: bump SRCREV Trevor Woerner
2024-06-13 13:35 ` [meta-rockchip][PATCH v2 2/2] radxa-zero-3e: add Trevor Woerner
2024-06-13 14:11 ` [yocto-patches] " Quentin Schulz
2024-06-13 15:41 ` Trevor Woerner [this message]
2024-06-13 14:03 ` [yocto-patches] [meta-rockchip][PATCH v2 1/2] rockchip-rkbin: bump SRCREV Quentin Schulz
2024-06-13 15:36 ` Trevor Woerner
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=20240613154128.GB33883@localhost \
--to=twoerner@gmail.com \
--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.