configs/imx8mn_bsh_smm_s2_pro_defconfig: new defconfig

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 6.1.6
- 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@collabora.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Heiko Thiery <heiko.thiery@gmail.com>
Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Tested-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Michael Trimarchi 2023-01-16 22:55:16 +01:00 committed by Thomas Petazzoni
parent 8c65ab5fab
commit 498797acce
10 changed files with 174 additions and 1 deletions

View File

@ -225,6 +225,8 @@ F: configs/snps_archs38_haps_defconfig
F: configs/snps_archs38_hsdk_defconfig
N: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
F: board/bsh/
F: configs/imx8mn_bsh_smm_s2_pro_defconfig
F: package/axfsutils/
F: package/mali-t76x/
@ -688,6 +690,7 @@ F: package/xinetd/
N: Dario Binacchi <dario.binacchi@amarulasolutions.com>
F: board/bsh/
F: configs/imx8mn_bsh_smm_s2_defconfig
F: configs/imx8mn_bsh_smm_s2_pro_defconfig
F: package/sscep/
F: package/uuu/
@ -2122,6 +2125,7 @@ F: package/python-pyzmq/
N: Michael Trimarchi <michael@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@iodoru.org>

View File

@ -0,0 +1,4 @@
label buildroot
kernel /boot/Image
devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
append root=PARTUUID=%PARTUUID% rootwait rw

View File

@ -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

View File

@ -0,0 +1,17 @@
image sdcard.img {
hdimage {
partition-table-type = "gpt"
}
partition imx-boot {
in-partition-table = "no"
image = "flash.bin"
offset = 32K
}
partition rootfs {
offset = 8M
image = "rootfs.ext4"
partition-uuid = %PARTUUID%
}
}

View File

@ -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"

View File

@ -0,0 +1,3 @@
#!/bin/sh
support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg

View File

@ -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.

View File

@ -7,7 +7,7 @@ BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.6"
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

View File

@ -0,0 +1,42 @@
BR2_aarch64=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=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="6.1.6"
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