[Buildroot] [PATCH v3 2/2] configs/imx8mn_bsh_smm_s2_pro_defconfig: new defconfig
Dario Binacchi
dario.binacchi at amarulasolutions.com
Wed Jul 13 06:30:34 UTC 2022
From: Michael Trimarchi <michael at amarulasolutions.com>
BSH SMM S2 PRO (SystemMaster S2 Pro) Board is an add-on board which
provide input and output interfaces to a dedicated carrier board. It is
designed mainly to provide graphical/video and connectivity interfaces
to the appliance.
Board support package includes the following components:
- mainline Linux kernel 5.18
- mainline U-Boot 2022-07
- Default packages from buildroot
https://www.apertis.org/reference_hardware/imx8mn_bsh_smm_s2pro_setup/
Add Ariel D'Alessandro and Dario Binacchi as co-maintainer, we work
together on platform mainline
Build and tested using:
docker pull registry.gitlab.com/buildroot.org/buildroot/base:20220105.2314
Cc: Ariel D'Alessandro <ariel.dalessandro at collabora.com>
Cc: Jagan Teki <jagan at amarulasolutions.com>
Cc: Heiko Thiery <heiko.thiery at gmail.com>
Cc: Giulio Benetti <giulio.benetti at benettiengineering.com>
Reviewed-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
Signed-off-by: Michael Trimarchi <michael at amarulasolutions.com>
Tested-by: Ariel D'Alessandro <ariel.dalessandro at collabora.com>
Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
---
Changes in v3:
- Update the commit description.
- Bump U-Boot to version 2022-07.
Changes in v2:
- Change commit subject line.
- Use the buildroot's output directory if the binaries directory is
not passed as a parameter to the `flash.sh' script.
- Replace the linux.config file with an architectural defconfig and
a config fragment for the changes.
Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
---
DEVELOPERS | 4 +
.../imx8mn-bsh-smm-s2/linux.fragment | 0
board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf | 4 +
board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh | 23 ++++++
board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg | 17 +++++
board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh | 7 ++
board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh | 3 +
board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt | 73 +++++++++++++++++++
configs/imx8mn_bsh_smm_s2_defconfig | 2 +-
configs/imx8mn_bsh_smm_s2_pro_defconfig | 41 +++++++++++
10 files changed, 173 insertions(+), 1 deletion(-)
rename board/bsh/{ => common}/imx8mn-bsh-smm-s2/linux.fragment (100%)
create mode 100644 board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf
create mode 100755 board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh
create mode 100644 board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg
create mode 100755 board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh
create mode 100755 board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh
create mode 100644 board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt
create mode 100644 configs/imx8mn_bsh_smm_s2_pro_defconfig
diff --git a/DEVELOPERS b/DEVELOPERS
index 33a77f462166..b6eebfc5fa84 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -215,6 +215,8 @@ F: configs/snps_archs38_haps_defconfig
F: configs/snps_archs38_hsdk_defconfig
N: Ariel D'Alessandro <ariel at vanguardiasur.com.ar>
+F: board/bsh/
+F: configs/imx8mn_bsh_smm_s2_pro_defconfig
F: package/axfsutils/
F: package/mali-t76x/
@@ -659,6 +661,7 @@ F: package/xinetd/
N: Dario Binacchi <dario.binacchi at amarulasolutions.com>
F: board/bsh/
F: configs/imx8mn_bsh_smm_s2_defconfig
+F: configs/imx8mn_bsh_smm_s2_pro_defconfig
F: package/uuu/
N: Dario Binacchi <dariobin at libero.it>
@@ -2049,6 +2052,7 @@ F: package/python-pyzmq/
N: Michael Trimarchi <michael at amarulasolutions.com>
F: board/bsh/
F: configs/imx8mn_bsh_smm_s2_defconfig
+F: configs/imx8mn_bsh_smm_s2_pro_defconfig
F: package/python-spidev/
N: Michael Vetter <jubalh at iodoru.org>
diff --git a/board/bsh/imx8mn-bsh-smm-s2/linux.fragment b/board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment
similarity index 100%
rename from board/bsh/imx8mn-bsh-smm-s2/linux.fragment
rename to board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment
diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf b/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf
new file mode 100644
index 000000000000..911135474253
--- /dev/null
+++ b/board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf
@@ -0,0 +1,4 @@
+label buildroot
+ kernel /boot/Image
+ devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
+ append root=PARTUUID=%PARTUUID% rootwait rw
diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh
new file mode 100755
index 000000000000..17b20f009771
--- /dev/null
+++ b/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+if [ $# -eq 0 ]; then
+ OUTPUT_DIR=output
+else
+ OUTPUT_DIR=$1
+fi
+
+if ! test -d "${OUTPUT_DIR}" ; then
+ echo "ERROR: no output directory specified."
+ echo "Usage: $0 OUTPUT_DIR"
+ echo ""
+ echo "Arguments:"
+ echo " OUTPUT_DIR The Buildroot output directory."
+ exit 1
+fi
+
+IMAGES_DIR=${OUTPUT_DIR}/images
+
+${OUTPUT_DIR}/host/bin/uuu -v -b emmc_all \
+ ${IMAGES_DIR}/flash.bin \
+ ${IMAGES_DIR}/sdcard.img
+
diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg b/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg
new file mode 100644
index 000000000000..bc100b171dd6
--- /dev/null
+++ b/board/bsh/imx8mn-bsh-smm-s2-pro/genimage.cfg
@@ -0,0 +1,17 @@
+image sdcard.img {
+ hdimage {
+ partition-table-type = "gpt"
+ }
+
+ partition imx-boot {
+ in-partition-table = "no"
+ image = "flash.bin"
+ offset = 33K
+ }
+
+ partition rootfs {
+ offset = 8M
+ image = "rootfs.ext4"
+ partition-uuid = %PARTUUID%
+ }
+}
diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh
new file mode 100755
index 000000000000..bf8861f6a914
--- /dev/null
+++ b/board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+BOARD_DIR="$(dirname $0)"
+PARTUUID="$($HOST_DIR/bin/uuidgen)"
+
+install -d "$TARGET_DIR/boot/extlinux/"
+sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/extlinux.conf" > "$TARGET_DIR/boot/extlinux/extlinux.conf"
+sed "s/%PARTUUID%/$PARTUUID/g" "$BOARD_DIR/genimage.cfg" > "$BINARIES_DIR/genimage.cfg"
diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh b/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh
new file mode 100755
index 000000000000..3452fd4501f8
--- /dev/null
+++ b/board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
diff --git a/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt b/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt
new file mode 100644
index 000000000000..5763f164fe13
--- /dev/null
+++ b/board/bsh/imx8mn-bsh-smm-s2-pro/readme.txt
@@ -0,0 +1,73 @@
+i.MX8MN BSH SMM S2 PRO
+======================
+
+How to build it
+---------------
+
+Configure buildroot:
+
+ $ make imx8mn_bsh_smm_s2_pro_defconfig
+
+Change settings to fit your needs (optional):
+
+ $ make menuconfig
+
+Compile everything and build the rootfs image:
+
+ $ make
+
+
+Result of the build
+-------------------
+
+After building, the output/images directory contains:
+
+ output/images/
+ ├── bl31.bin
+ ├── Image
+ ├── flash.bin
+ ├── ddr3*
+ ├── rootfs.ext2
+ ├── rootfs.ext4 -> rootfs.ext2
+ ├── rootfs.tar
+ ├── sdcard.img
+ ├── u-boot.bin
+ ├── u-boot-nodtb.bin
+ └── u-boot-spl.bin
+
+
+Preparing the board
+-------------------
+
+Plug the USB type A to micro B cable into the USB Debug
+Connector (DBG UART). Use serial port settings 115200 8N1
+to access the debug console.
+
+Plug another USB type A to micro B cable into the USB-OTG
+Connector (USB1). This connection is used to flash the board
+firmware using the Freescale/NXP UUU tool.
+
+Connect the power supply/adaptor to the DC Power Jack (labelled
++5V).
+
+
+Flashing the emmc card image
+----------------------------
+
+Power up the board by switching on the Power ON Switch, which is
+placed right next to the DC Jack.
+
+Enter the following U-Boot commands on the debug serial console:
+
+ $ fastboot usb 0
+
+Flash the images on eMMC. On your computer, run:
+
+ $ board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh output/
+
+
+Booting the board
+-----------------
+
+By default the bootloader will search for the first valid image,
+starting with the internal eMMC.
diff --git a/configs/imx8mn_bsh_smm_s2_defconfig b/configs/imx8mn_bsh_smm_s2_defconfig
index bf91afb73543..7a0eb5ed4591 100644
--- a/configs/imx8mn_bsh_smm_s2_defconfig
+++ b/configs/imx8mn_bsh_smm_s2_defconfig
@@ -6,7 +6,7 @@ BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.18"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
-BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/bsh/imx8mn-bsh-smm-s2/linux.fragment"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-bsh-smm-s2"
BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
diff --git a/configs/imx8mn_bsh_smm_s2_pro_defconfig b/configs/imx8mn_bsh_smm_s2_pro_defconfig
new file mode 100644
index 000000000000..ee8f79b5cd21
--- /dev/null
+++ b/configs/imx8mn_bsh_smm_s2_pro_defconfig
@@ -0,0 +1,41 @@
+BR2_aarch64=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/bsh/imx8mn-bsh-smm-s2-pro/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/bsh/imx8mn-bsh-smm-s2-pro/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.18"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/bsh/common/imx8mn-bsh-smm-s2/linux.fragment"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mn-bsh-smm-s2pro"
+BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME=y
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN=y
+BR2_PACKAGE_FIRMWARE_IMX=y
+BR2_PACKAGE_FIRMWARE_IMX_DDR3=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v2.5"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mn"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES="IMX_BOOT_UART_BASE=0x30a60000"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION=y
+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.07"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_bsh_smm_s2pro"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y
+BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y
+BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="flash.bin"
+BR2_TARGET_UBOOT_SPL=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_UUU=y
--
2.32.0
More information about the buildroot
mailing list