diff mbox series

[1/1] configs/raspberrypicm5io: new defconfig

Message ID 20250425014342.2468690-1-gael.portay+rtone@gmail.com
State New
Headers show
Series [1/1] configs/raspberrypicm5io: new defconfig | expand

Commit Message

Gaël PORTAY April 25, 2025, 1:43 a.m. UTC
This configuration builds an image for the Compute Module 5 IO Board.

Important: The debug UART header is not assembled on the Compute Module
5[1].

	2.23. Debug UART

        Space is provided for the user to fit a debug UART connector.
        This connector provides the same functionality as Raspberry Pi
        5. The connector is a three-pin 1mm pitch JST-SH connector, Part
        number BM03B-SRSS-TB. The signals are replicated on the bottom
	as test points.

[1]: https://datasheets.raspberrypi.com/cm5/cm5-datasheet.pdf

Signed-off-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
---
 board/raspberrypi/config_cm5io.txt | 21 ++++++++++++++++++
 board/raspberrypi/readme.txt       |  7 ++++++
 board/raspberrypicm5io             |  1 +
 configs/raspberrypicm5io_defconfig | 35 ++++++++++++++++++++++++++++++
 4 files changed, 64 insertions(+)
 create mode 100644 board/raspberrypi/config_cm5io.txt
 create mode 120000 board/raspberrypicm5io
 create mode 100644 configs/raspberrypicm5io_defconfig

Comments

Thomas Petazzoni April 25, 2025, 7:52 a.m. UTC | #1
Hello Gaël,

Thanks for this patch!

On Fri, 25 Apr 2025 03:43:42 +0200
Gaël PORTAY <gael.portay+rtone@gmail.com> wrote:

> This configuration builds an image for the Compute Module 5 IO Board.
> 
> Important: The debug UART header is not assembled on the Compute Module
> 5[1].
> 
> 	2.23. Debug UART
> 
>         Space is provided for the user to fit a debug UART connector.
>         This connector provides the same functionality as Raspberry Pi
>         5. The connector is a three-pin 1mm pitch JST-SH connector, Part
>         number BM03B-SRSS-TB. The signals are replicated on the bottom
> 	as test points.

And Buildroot uses this UART? If so, it should be documented in the
readme.txt, not just in the commit log.

Thomas
diff mbox series

Patch

diff --git a/board/raspberrypi/config_cm5io.txt b/board/raspberrypi/config_cm5io.txt
new file mode 100644
index 0000000000..6e748cd5d4
--- /dev/null
+++ b/board/raspberrypi/config_cm5io.txt
@@ -0,0 +1,21 @@ 
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE.
+# See http://buildroot.org/manual.html#rootfs-custom
+# and http://elinux.org/RPiconfig for a description of config.txt syntax
+
+kernel=Image
+
+# To use an external initramfs file
+#initramfs rootfs.cpio.gz
+
+# Disable overscan assuming the display supports displaying the full resolution
+# If the text shown on the screen disappears off the edge, comment this out
+disable_overscan=1
+
+# enable RTC
+dtparam=i2c_vc=on
+dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
+
+# enable dwc2 USB controller (USB 2.0)
+dtoverlay=dwc2,dr_mode=host
diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt
index 47814736bd..b93fcc1d4b 100644
--- a/board/raspberrypi/readme.txt
+++ b/board/raspberrypi/readme.txt
@@ -20,6 +20,7 @@  These instructions apply to all models of the Raspberry Pi:
   - the model CM4s (aka Raspberry Pi Compute Module 4s).
   - the model B5 (aka Raspberry Pi 5).
   - the model 500 (aka Raspberry Pi 500).
+  - the model CM5 (aka Raspberry Pi Compute Module 5 and IO Board).
 
 How to build it
 ===============
@@ -82,6 +83,10 @@  For model 5 B and 500:
 
   $ make raspberrypi5_defconfig
 
+For model CM5 (on IO Board):
+
+  $ make raspberrypicm5io_defconfig
+
 Build the rootfs
 ----------------
 
@@ -119,6 +124,8 @@  After building, you should obtain this tree:
     +-- bcm2712-rpi-5-b.dtb         [1]
     +-- bcm2712d0-rpi-5-b.dtb       [1]
     +-- bcm2712-rpi-500.dtb         [1]
+    +-- bcm2712-rpi-cm5-cm5io       [1]
+    +-- bcm2712-rpi-cm5l-cm5io      [1]
     +-- boot.vfat
     +-- rootfs.ext4
     +-- rpi-firmware/
diff --git a/board/raspberrypicm5io b/board/raspberrypicm5io
new file mode 120000
index 0000000000..fcdafc81ed
--- /dev/null
+++ b/board/raspberrypicm5io
@@ -0,0 +1 @@ 
+raspberrypi
\ No newline at end of file
diff --git a/configs/raspberrypicm5io_defconfig b/configs/raspberrypicm5io_defconfig
new file mode 100644
index 0000000000..e61c47c8d2
--- /dev/null
+++ b/configs/raspberrypicm5io_defconfig
@@ -0,0 +1,35 @@ 
+BR2_aarch64=y
+BR2_cortex_a76=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
+BR2_GLOBAL_PATCH_DIR="board/raspberrypi/patches"
+BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
+BR2_SYSTEM_DHCP="eth0"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm5io/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm5io/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,cd231d4775b14f228606c09f219b48308f6ab3aa)/linux-cd231d4775b14f228606c09f219b48308f6ab3aa.tar.gz"
+BR2_LINUX_KERNEL_DEFCONFIG="bcm2712"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/raspberrypi/linux-4k-page-size.fragment"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2712-rpi-cm5-cm5io broadcom/bcm2712-rpi-cm5l-cm5io"
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_XZ=y
+BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="board/raspberrypicm5io/config_cm5io.txt"
+BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="board/raspberrypicm5io/cmdline_cm5io.txt"
+BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS=y
+BR2_PACKAGE_KMOD=y
+BR2_PACKAGE_KMOD_TOOLS=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
+# BR2_TARGET_ROOTFS_TAR is not set
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_KMOD_XZ=y
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT=y