new file mode 100644
@@ -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
@@ -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/
new file mode 120000
@@ -0,0 +1 @@
+raspberrypi
\ No newline at end of file
new file mode 100644
@@ -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
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