All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trevor Woerner <twoerner@gmail.com>
To: yocto-patches@lists.yoctoproject.org
Subject: [meta-rockchip][scarthgap][PATCH 05/10] radxa-zero-3{e|w}: add
Date: Mon,  9 Sep 2024 10:55:25 -0400	[thread overview]
Message-ID: <20240909145530.25301-6-twoerner@gmail.com> (raw)
In-Reply-To: <20240909145530.25301-1-twoerner@gmail.com>

The Radxa ZERO 3{e|w} are ultra-small, high-performance single board computers
based on the Rockchip RK3566, with a compact form factor, and rich interfaces.

	http://radxa.com/products/zeros/zero3e/
	http://radxa.com/products/zeros/zero3w/

common 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
- 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

Radxa ZERO 3e specific tech specs:
- GbE

Radxa ZERO 3w specific tech specs:
- optional onboard eMMC (8/16/32/64 GB)
- IEEE 802.11 b/g/n/ac/ax(WiFi6), BT5.4 with BLE

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>
---
 README                                        |  2 ++
 conf/machine/include/radxa-zero-3.inc         |  8 ++++++
 conf/machine/include/rk3566.inc               | 21 ++++++++++++++++
 conf/machine/radxa-zero-3e.conf               |  7 ++++++
 conf/machine/radxa-zero-3w.conf               |  7 ++++++
 recipes-bsp/rkbin/rockchip-rkbin_git.bb       | 12 +++++++++
 recipes-bsp/u-boot/u-boot_%.bbappend          |  4 +++
 .../linux/linux-torvalds-next_git.bb          | 25 +++++++++++++++++++
 8 files changed, 86 insertions(+)
 create mode 100644 conf/machine/include/radxa-zero-3.inc
 create mode 100644 conf/machine/include/rk3566.inc
 create mode 100644 conf/machine/radxa-zero-3e.conf
 create mode 100644 conf/machine/radxa-zero-3w.conf
 create mode 100644 recipes-kernel/linux/linux-torvalds-next_git.bb

diff --git a/README b/README
index b21e92360dcc..909840de2c0d 100644
--- a/README
+++ b/README
@@ -40,6 +40,8 @@ Status of supported boards:
 		orangepi-5-plus
 		rock-3a
 		rock-4c-plus
+		radxa-zero-3e
+		radxa-zero-3w
 	builds:
 		marsboard-rk3066
 		radxarock
diff --git a/conf/machine/include/radxa-zero-3.inc b/conf/machine/include/radxa-zero-3.inc
new file mode 100644
index 000000000000..1c6f972c1e31
--- /dev/null
+++ b/conf/machine/include/radxa-zero-3.inc
@@ -0,0 +1,8 @@
+MACHINEOVERRIDES =. "radxa-zero-3:"
+
+require conf/machine/include/rk3566.inc
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-torvalds-next"
+MACHINE_EXTRA_RRECOMMENDS += "kernel-modules"
+
+UBOOT_MACHINE = "radxa-zero-3-rk3566_defconfig"
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..37792cbf36a5
--- /dev/null
+++ b/conf/machine/radxa-zero-3e.conf
@@ -0,0 +1,7 @@
+#@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/radxa-zero-3.inc
+KERNEL_DEVICETREE = "rockchip/rk3566-radxa-zero-3e.dtb"
diff --git a/conf/machine/radxa-zero-3w.conf b/conf/machine/radxa-zero-3w.conf
new file mode 100644
index 000000000000..5193d45e1f69
--- /dev/null
+++ b/conf/machine/radxa-zero-3w.conf
@@ -0,0 +1,7 @@
+#@TYPE: Machine
+#@NAME: Radxa Zero 3W
+#@DESCRIPTION: The Radxa ZERO 3w 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/zero3w/
+
+require conf/machine/include/radxa-zero-3.inc
+KERNEL_DEVICETREE = "rockchip/rk3566-radxa-zero-3w.dtb"
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
+}
+
 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 862ca1377692..c939a487d294 100644
--- a/recipes-bsp/u-boot/u-boot_%.bbappend
+++ b/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -2,6 +2,10 @@ require u-boot-rockchip.inc
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
 
+SRC_URI:radxa-zero-3 = "git://github.com/Kwiboo/u-boot-rockchip.git;protocol=https;branch=rk3xxx-2024.07;name=Kwiboo"
+SRCREV:radxa-zero-3 = "8cdf606e616baa36751f3b4adcfaefc781126c8c"
+SRCREV:radxa-zero-3:rk-u-boot-env = "8cdf606e616baa36751f3b4adcfaefc781126c8c"
+
 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..6f3db7c61bdf
--- /dev/null
+++ b/recipes-kernel/linux/linux-torvalds-next_git.bb
@@ -0,0 +1,25 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto-dev:"
+
+DESCRIPTION = "Linux Kernel"
+SECTION = "kernel"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+ERROR_QA:remove = "buildpaths"
+DEFAULT_PREFERENCE = "-1"
+COMPATIBLE_MACHINE = "^$"
+COMPATIBLE_MACHINE:radxa-zero-3 = "radxa-zero-3"
+
+LINUX_VERSION = "6.10-rc3"
+KERNEL_VERSION_SANITY_SKIP = "1"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+SRC_URI = " \
+	git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git;protocol=https;nobranch=1 \
+	file://rockchip-kmeta;type=kmeta;name=rockchip-kmeta;destsuffix=rockchip-kmeta \
+	"
+# this is tag 'next-20240611'
+SRCREV = "a957267fa7e9159d3d2ee1421359ebf228570c68"
+
+inherit kernel
+inherit kernel-yocto
+require recipes-kernel/linux/linux-yocto.inc
-- 
2.44.0.478.g7774cfed6261



  parent reply	other threads:[~2024-09-09 14:55 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-09 14:55 [meta-rockchip][scarthgap][PATCH 00/10] scarthgap update Trevor Woerner
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 01/10] mesa: enable lima on all rk3328 boards Trevor Woerner
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 02/10] mesa: build panfrost for RK3568 boards Trevor Woerner
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 03/10] user-selectable wic compression Trevor Woerner
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 04/10] rockchip-rkbin: bump SRCREV Trevor Woerner
2024-09-09 14:55 ` Trevor Woerner [this message]
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 06/10] README: sort MACHINE names Trevor Woerner
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 07/10] mesa: build panfrost for RK3566 boards Trevor Woerner
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 08/10] rauc demo: add Trevor Woerner
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 09/10] enable HW VPU decoding for SoCs that have stateless VPUs Trevor Woerner
2024-09-09 16:01   ` [yocto-patches] " Quentin Schulz
2024-09-10  4:52     ` Trevor Woerner
2024-09-10  9:12       ` Quentin Schulz
2024-09-09 14:55 ` [meta-rockchip][scarthgap][PATCH 10/10] linux-torvalds-next: bump to next-20240904 Trevor Woerner
2024-09-13  2:57 ` [meta-rockchip][scarthgap][PATCH 00/10] scarthgap update 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=20240909145530.25301-6-twoerner@gmail.com \
    --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.