Browse Source

configs/coolpi_4b: new defconfig

CoolPi 4B is a rk3588s based SBC[0].
Specification:
- Rockchip RK3588S
- LPDDR4 2/4/8/16 GB
- TF scard slot
- eMMC 8/32/64/128 GB module
- Gigabit ethernet drived by PCIE with RTL8111HS
- HDMI Type D out
- Mini DP out
- USB 2.0 Host x 2
- USB 3.0 OTG x 1
- USB 3.0 Host x 1
- WIFI/BT module AIC8800
- 40 pin header

[0] https://www.cool-pi.com/product/cp4b/

Signed-off-by: Andy Yan <andyshrk@163.com>
[Julien:
 - add missing BR2_GLOBAL_PATCH_DIR and hash files
 - add missing BR2_TARGET_UBOOT_NEEDS_GNUTLS
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Andy Yan 1 month ago
parent
commit
51fc2f3846

+ 4 - 0
board/coolpi/coolpi-4b/extlinux.conf

@@ -0,0 +1,4 @@
+label coolpi-4b-buildroot
+  kernel /Image.gz
+  devicetree /rk3588s-coolpi-4b.dtb
+  append root=/dev/mmcblk1p2 rw rootfstype=ext4 earlycon earlyprintk console=ttyS2,1500000n8 rootwait

+ 35 - 0
board/coolpi/coolpi-4b/genimage.cfg

@@ -0,0 +1,35 @@
+# SD card image for Cool PI 4b
+
+image boot.vfat {
+	vfat {
+		files = {
+			"Image.gz",
+			"rk3588s-coolpi-4b.dtb",
+			"extlinux"
+		}
+	}
+	size = 32M
+}
+
+image sdcard.img {
+	hdimage {
+		partition-table-type = "hybrid"
+	}
+
+	partition uboot {
+		in-partition-table = "false"
+		image = "u-boot-rockchip.bin"
+		offset = 32K
+	}
+
+	partition boot {
+		partition-type = "0xC"
+		bootable = "true"
+		image = "boot.vfat"
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext2"
+	}
+}

+ 1 - 0
board/coolpi/coolpi-4b/patches/linux-headers/linux-headers.hash

@@ -0,0 +1 @@
+../linux/linux.hash

+ 2 - 0
board/coolpi/coolpi-4b/patches/linux/linux.hash

@@ -0,0 +1,2 @@
+# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
+sha256  de8b97cfeae74c22f832ee4ca2333c157cc978d98baa122f0ee9c01796a2fe43  linux-6.14.10.tar.xz

+ 2 - 0
board/coolpi/coolpi-4b/patches/uboot/uboot.hash

@@ -0,0 +1,2 @@
+# Locally calculated
+sha256  439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718  u-boot-2025.04.tar.bz2

+ 7 - 0
board/coolpi/coolpi-4b/post-image.sh

@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+set -e
+
+BOARD_DIR="$(dirname "$0")"
+gzip -fk "${BINARIES_DIR}/Image"
+install -m 0644 -D "$BOARD_DIR/extlinux.conf" "$BINARIES_DIR/extlinux/extlinux.conf"
+support/scripts/genimage.sh -c board/coolpi/coolpi-4b/genimage.cfg

+ 57 - 0
board/coolpi/coolpi-4b/readme.txt

@@ -0,0 +1,57 @@
+Cool Pi 4B
+==============
+https://www.cool-pi.com/product/cp4b/
+
+Build:
+======
+  $ make coolpi_4b_defconfig
+  $ make
+
+Files created in output directory
+=================================
+
+output/images
+.
+output/images/
+├── boot.vfat
+├── extlinux
+│   └── extlinux.conf
+├── Image
+├── Image.gz
+├── rk3588_bl31_v1.40.elf
+├── rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.12.bin
+├── rk3588s-coolpi-4b.dtb
+├── rootfs.ext2
+├── rootfs.ext4 -> rootfs.ext2
+├── rootfs.tar
+├── sdcard.img
+├── u-boot.bin
+└── u-boot-rockchip.bin
+
+Creating bootable SD card:
+==========================
+
+Simply invoke (as root)
+
+sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
+
+Where X is your SD card device.
+
+Booting:
+========
+
+Serial console:
+---------------
+The Cool Pi 4B has a 40-pin GPIO header.
+
+The Uart pins are as follows:
+
+pin 6:  gnd
+pin 8:  tx
+pin 10: rx
+
+Baudrate for this board is 1500000.
+
+Login:
+------
+Enter 'root' as login user, and the prompt is ready.

+ 41 - 0
configs/coolpi_4b_defconfig

@@ -0,0 +1,41 @@
+BR2_aarch64=y
+BR2_cortex_a76_a55=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_14=y
+BR2_GLOBAL_PATCH_DIR="board/coolpi/coolpi-4b/patches"
+BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
+BR2_TARGET_GENERIC_HOSTNAME="coolpi"
+BR2_TARGET_GENERIC_ISSUE="Welcome to the CoolPi 4B"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/coolpi/coolpi-4b/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.14.10"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3588s-coolpi-4b"
+BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
+BR2_PACKAGE_LINUX_FIRMWARE_ARM_MALI_CSF=y
+BR2_PACKAGE_ROCKCHIP_RKBIN=y
+BR2_PACKAGE_ROCKCHIP_RKBIN_TPL_FILENAME="bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin"
+BR2_PACKAGE_ROCKCHIP_RKBIN_BL31_FILENAME="bin/rk35/rk3588_bl31_v1.48.elf"
+BR2_PACKAGE_LIBDRM=y
+BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
+BR2_PACKAGE_OPENSSH=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2025.04"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="coolpi-4b-rk3588s"
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_NEEDS_GNUTLS=y
+BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y