summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Zink <j.zink@pengutronix.de>2022-09-05 18:36:11 +0200
committerRobert Schwebel <r.schwebel@pengutronix.de>2022-09-06 16:11:20 +0200
commit5bc0a6317a38d9752b9f67b0493ddfef7b16cf43 (patch)
treebc282d0aaf5aa3db22e41a984b7215bca1c77c57
parent842455ae5f86964eb5c76f48382bfb53f43aec06 (diff)
downloadDistroKit-5bc0a6317a38d9752b9f67b0493ddfef7b16cf43.tar.gz
DistroKit-5bc0a6317a38d9752b9f67b0493ddfef7b16cf43.tar.xz
v8a: rockchip: add Radxa Rock 3A image and blspec entry
Now that we have kernel, barebox and firmware in place, add rules for building a bootspec-enabled image that's bootable on the Radxa ROCK-3A. Signed-off-by: Johannes Zink <j.zink@pengutronix.de> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Link: https://lore.pengutronix.de/20220905163615.2807729-17-m.tretter@pengutronix.de Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-rw-r--r--configs/platform-v8a/config/images/rock3a.config33
-rw-r--r--configs/platform-v8a/platformconfig6
-rw-r--r--configs/platform-v8a/platforms/blspec-rock3a.in5
-rw-r--r--configs/platform-v8a/platforms/image-rock3a.in10
-rw-r--r--configs/platform-v8a/projectroot/loader/entries/rock3a.conf6
-rw-r--r--configs/platform-v8a/rules/blspec-rock3a.make38
-rw-r--r--configs/platform-v8a/rules/image-rock3a.make32
7 files changed, 128 insertions, 2 deletions
diff --git a/configs/platform-v8a/config/images/rock3a.config b/configs/platform-v8a/config/images/rock3a.config
new file mode 100644
index 0000000..27de5f8
--- /dev/null
+++ b/configs/platform-v8a/config/images/rock3a.config
@@ -0,0 +1,33 @@
+image @IMAGE@ {
+ hdimage {
+ align = 1M
+ disk-signature = 0xf5feaddc
+ }
+ partition boot1 {
+ offset = 32k
+ size = 2M
+ in-partition-table = false
+ image = "barebox-rock3a.img-rockchip"
+ }
+ partition boot2 {
+ offset = 2080k
+ size = 2M
+ in-partition-table = false
+ image = "barebox-rock3a.img-rockchip"
+ }
+ partition barebox_environment {
+ offset = 4128k
+ size = 128k
+ in-partition-table = false
+ image = /dev/null
+ }
+ partition root-A {
+ offset = 5M
+ image = "root.ext2"
+ partition-type = 0x83
+ }
+ partition data {
+ partition-type = 0x83
+ size = 512M
+ }
+}
diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index 78ec1aa..1057ba5 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -130,8 +130,8 @@ PTXCONF_KERNEL_IMAGE_RAW=y
# PTXCONF_KERNEL_IMAGE_SIMPLE is not set
PTXCONF_KERNEL_IMAGE="Image"
PTXCONF_KERNEL_DTB=y
-PTXCONF_KERNEL_DTS_PATH="${PTXDIST_PLATFORMCONFIG_SUBDIR}/dts:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts/freescale"
-PTXCONF_KERNEL_DTS="armada-3720-community.dts imx8mm-evk.dts imx8mp-evk.dts imx8mq-evk.dts"
+PTXCONF_KERNEL_DTS_PATH="${PTXDIST_PLATFORMCONFIG_SUBDIR}/dts:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts/freescale:${KERNEL_DIR}/arch/${GENERIC_KERNEL_ARCH}/boot/dts/rockchip"
+PTXCONF_KERNEL_DTS="armada-3720-community.dts imx8mm-evk.dts imx8mp-evk.dts imx8mq-evk.dts rk3568-rock-3a.dts"
# PTXCONF_KERNEL_DTBO is not set
# PTXCONF_KERNEL_CODE_SIGNING is not set
# PTXCONF_KERNEL_ZSTD is not set
@@ -192,6 +192,7 @@ PTXCONF_IMX_ATF=y
PTXCONF_BLSPEC_IMX8MM_EVK=y
PTXCONF_BLSPEC_IMX8MP_EVK=y
PTXCONF_BLSPEC_IMX8MQ_EVK=y
+PTXCONF_BLSPEC_ROCK3A=y
# end of bootloader spec entries
#
@@ -219,6 +220,7 @@ PTXCONF_IMAGE_KERNEL_INSTALL_EARLY=y
# end of Generate images/linuximage
# PTXCONF_IMAGE_RAUC is not set
+PTXCONF_IMAGE_ROCK3A=y
# PTXCONF_IMAGE_ROOT_CPIO is not set
PTXCONF_IMAGE_ROOT_EXT=y
PTXCONF_IMAGE_ROOT_EXT_SIZE="125%"
diff --git a/configs/platform-v8a/platforms/blspec-rock3a.in b/configs/platform-v8a/platforms/blspec-rock3a.in
new file mode 100644
index 0000000..e54a102
--- /dev/null
+++ b/configs/platform-v8a/platforms/blspec-rock3a.in
@@ -0,0 +1,5 @@
+## SECTION=blspec
+
+config BLSPEC_ROCK3A
+ tristate
+ prompt "/loader/entries/rock3a.conf bootloader spec entry"
diff --git a/configs/platform-v8a/platforms/image-rock3a.in b/configs/platform-v8a/platforms/image-rock3a.in
new file mode 100644
index 0000000..cd09d1e
--- /dev/null
+++ b/configs/platform-v8a/platforms/image-rock3a.in
@@ -0,0 +1,10 @@
+## SECTION=image
+
+config IMAGE_ROCK3A
+ tristate
+ select HOST_GENIMAGE
+ select IMAGE_ROOT_EXT
+ select BAREBOX_ROCKCHIP
+ prompt "Generate images/rock3a.img"
+ help
+ Generate an image for the Radxa ROCK3 Model A.
diff --git a/configs/platform-v8a/projectroot/loader/entries/rock3a.conf b/configs/platform-v8a/projectroot/loader/entries/rock3a.conf
new file mode 100644
index 0000000..128e25a
--- /dev/null
+++ b/configs/platform-v8a/projectroot/loader/entries/rock3a.conf
@@ -0,0 +1,6 @@
+title PTXdist - Pengutronix-DistroKit - ROCK-3A
+version @VERSION@
+options rootwait
+linux /boot/Image
+devicetree /boot/rk3568-rock-3a.dtb
+linux-appendroot true
diff --git a/configs/platform-v8a/rules/blspec-rock3a.make b/configs/platform-v8a/rules/blspec-rock3a.make
new file mode 100644
index 0000000..eeaf82b
--- /dev/null
+++ b/configs/platform-v8a/rules/blspec-rock3a.make
@@ -0,0 +1,38 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Sascha Hauer <s.hauer@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_BLSPEC_ROCK3A) += blspec-rock3a
+
+BLSPEC_ROCK3A_VERSION := 5.6.2
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/blspec-rock3a.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, blspec-rock3a)
+ @$(call install_fixup,blspec-rock3a,PRIORITY,optional)
+ @$(call install_fixup,blspec-rock3a,SECTION,base)
+ @$(call install_fixup,blspec-rock3a,AUTHOR,"Sascha Hauer <s.hauer@pengutronix.de>")
+ @$(call install_fixup,blspec-rock3a,DESCRIPTION,missing)
+
+ @$(call install_alternative, blspec-rock3a, 0, 0, 0644, \
+ /loader/entries/rock3a.conf)
+ @$(call install_replace, blspec-rock3a, /loader/entries/rock3a.conf, \
+ @VERSION@,'$(PTXDIST_BSP_AUTOVERSION)')$(ptx/nl)
+
+ @$(call install_finish,blspec-rock3a)
+
+ @$(call touch)
+
+# vim: syntax=make
diff --git a/configs/platform-v8a/rules/image-rock3a.make b/configs/platform-v8a/rules/image-rock3a.make
new file mode 100644
index 0000000..2f0107b
--- /dev/null
+++ b/configs/platform-v8a/rules/image-rock3a.make
@@ -0,0 +1,32 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2022 by Michael Riesch <michael.riesch@wolfvision.net>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+IMAGE_PACKAGES-$(PTXCONF_IMAGE_ROCK3A) += image-rock3a
+
+#
+# Paths and names
+#
+IMAGE_ROCK3A := image-rock3a
+IMAGE_ROCK3A_DIR := $(BUILDDIR)/$(IMAGE_ROCK3A)
+IMAGE_ROCK3A_IMAGE := $(IMAGEDIR)/rock3a.img
+IMAGE_ROCK3A_FILES := $(IMAGEDIR)/root.tgz
+IMAGE_ROCK3A_CONFIG := rock3a.config
+
+# ----------------------------------------------------------------------------
+# Image
+# ----------------------------------------------------------------------------
+
+$(IMAGE_ROCK3A_IMAGE):
+ @$(call targetinfo)
+ @$(call image/genimage, IMAGE_ROCK3A)
+ @$(call finish)
+
+# vim: syntax=make