[Buildroot] [PATCH V2] board: Add support for iMX8MN BSH SMM S2 PRO

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Mon Jan 31 12:43:35 UTC 2022


Hi

git diff
diff --git a/configs/bsh_smms2pro_defconfig b/configs/bsh_smms2pro_defconfig
index 8472c6db2b..34d92fa4cc 100644
--- a/configs/bsh_smms2pro_defconfig
+++ b/configs/bsh_smms2pro_defconfig
@@ -41,6 +41,3 @@ 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_IMX_MKIMAGE=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS=y
-BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y

Those are not needed. Anyway I need to change uboot download point and
waiting from Ariel

Michael

On Mon, Jan 31, 2022 at 1:41 PM Giulio Benetti
<giulio.benetti at benettiengineering.com> wrote:
>
> On 31/01/22 13:39, Giulio Benetti wrote:
> > Hi Michael, Heiko, All,
> >
> > On 31/01/22 12:48, Michael Nazzareno Trimarchi wrote:
> >> Hi Heiko
> >>
> >> On Mon, Jan 31, 2022 at 12:42 PM Heiko Thiery <heiko.thiery at gmail.com> wrote:
> >>>
> >>> Hi Michael,
> >>>
> >>> Am Mo., 31. Jan. 2022 um 09:52 Uhr schrieb Michael Trimarchi
> >>> <michael at amarulasolutions.com>:
> >>>>
> >>>> Add initial support for iMX8MN BSH SMM S2 PRO board:
> >>>>
> >>>> - Linux: v5.17-rc1
> >>>> - Uboot 2022-01-rc1 (reference tree)
> >>>> - Default packages from buildroot
> >>>>
> >>>> https://www.apertis.org/reference_hardware/imx8mn_bsh_smm_s2pro_setup/
> >>>>
> >>>> Add Ariel D'Alessandro 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>
> >>>> Signed-off-by: Michael Trimarchi <michael at amarulasolutions.com>
> >>>> ---
> >>>> Changes V1->V2:
> >>>>           - add the board reference page
> >>>>           - test with docker
> >>>>           - adjust the buildroot config in order to use buildman
> >>>> ---
> >>>>    DEVELOPERS                         |  2 ++
> >>>>    board/bsh/bsh-imx8mn/extlinux.conf |  4 +++
> >>>>    board/bsh/bsh-imx8mn/genimage.cfg  | 17 +++++++++
> >>>>    board/bsh/bsh-imx8mn/post-build.sh |  7 ++++
> >>>>    board/bsh/bsh-imx8mn/post-image.sh |  3 ++
> >>>>    board/bsh/bsh-imx8mn/readme.txt    | 55 ++++++++++++++++++++++++++++++
> >>>>    configs/bsh_smms2pro_defconfig     | 46 +++++++++++++++++++++++++
> >>>>    7 files changed, 134 insertions(+)
> >>>>    create mode 100644 board/bsh/bsh-imx8mn/extlinux.conf
> >>>>    create mode 100644 board/bsh/bsh-imx8mn/genimage.cfg
> >>>>    create mode 100755 board/bsh/bsh-imx8mn/post-build.sh
> >>>>    create mode 100755 board/bsh/bsh-imx8mn/post-image.sh
> >>>>    create mode 100644 board/bsh/bsh-imx8mn/readme.txt
> >>>>    create mode 100644 configs/bsh_smms2pro_defconfig
> >>>>
> >>>> diff --git a/DEVELOPERS b/DEVELOPERS
> >>>> index fe8de1916e..fc66fb6b83 100644
> >>>> --- a/DEVELOPERS
> >>>> +++ b/DEVELOPERS
> >>>> @@ -220,6 +220,7 @@ F:  configs/snps_archs38_hsdk_defconfig
> >>>>    F:     configs/snps_archs38_vdk_defconfig
> >>>>
> >>>>    N:     Ariel D'Alessandro <ariel at vanguardiasur.com.ar>
> >>>> +F:     board/bsh/
> >>>>    F:     package/axfsutils/
> >>>>    F:     package/mali-t76x/
> >>>>
> >>>> @@ -2018,6 +2019,7 @@ F:        package/python-crc16/
> >>>>    F:     package/python-pyzmq/
> >>>>
> >>>>    N:     Michael Trimarchi <michael at amarulasolutions.com>
> >>>> +F:     board/bsh/
> >>>>    F:     package/python-spidev/
> >>>>
> >>>>    N:     Michael Vetter <jubalh at iodoru.org>
> >>>> diff --git a/board/bsh/bsh-imx8mn/extlinux.conf b/board/bsh/bsh-imx8mn/extlinux.conf
> >>>> new file mode 100644
> >>>> index 0000000000..9111354742
> >>>> --- /dev/null
> >>>> +++ b/board/bsh/bsh-imx8mn/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/bsh-imx8mn/genimage.cfg b/board/bsh/bsh-imx8mn/genimage.cfg
> >>>> new file mode 100644
> >>>> index 0000000000..bc100b171d
> >>>> --- /dev/null
> >>>> +++ b/board/bsh/bsh-imx8mn/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/bsh-imx8mn/post-build.sh b/board/bsh/bsh-imx8mn/post-build.sh
> >>>> new file mode 100755
> >>>> index 0000000000..bf8861f6a9
> >>>> --- /dev/null
> >>>> +++ b/board/bsh/bsh-imx8mn/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/bsh-imx8mn/post-image.sh b/board/bsh/bsh-imx8mn/post-image.sh
> >>>> new file mode 100755
> >>>> index 0000000000..3452fd4501
> >>>> --- /dev/null
> >>>> +++ b/board/bsh/bsh-imx8mn/post-image.sh
> >>>> @@ -0,0 +1,3 @@
> >>>> +#!/bin/sh
> >>>> +
> >>>> +support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
> >>>> diff --git a/board/bsh/bsh-imx8mn/readme.txt b/board/bsh/bsh-imx8mn/readme.txt
> >>>> new file mode 100644
> >>>> index 0000000000..ae30666cd0
> >>>> --- /dev/null
> >>>> +++ b/board/bsh/bsh-imx8mn/readme.txt
> >>>> @@ -0,0 +1,55 @@
> >>>> +How to build it
> >>>> +===============
> >>>> +
> >>>> +Configure buildroot:
> >>>> +
> >>>> +  $ make bsh_smms2pro_defconfig
> >>>> +
> >>>> +Change settings to fit your needs (optional):
> >>>> +
> >>>> +  $ make menuconfig
> >>>> +
> >>>> +Compile everything and buildr 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
> >>>> +
> >>>> +
> >>>> +Flashing the emmc card image
> >>>> +==========================
> >>>> +
> >>>> +To install the image on on eMMC
> >>>> +
> >>>> +  $ sudo uuu -b emmc_all output/images/flash.bin output/images/sdcard.img
> >>>> +
> >>>> +
> >>>> +Preparing the board
> >>>> +===================
> >>>> +
> >>>> + * Connect a serial line to the board
> >>>> + * Power-up the board
> >>>> +
> >>>> +
> >>>> +Booting the board
> >>>> +=================
> >>>> +
> >>>> +By default the bootloader will search for the first valid image, starting
> >>>> +with the internal eMMC.
> >>>> diff --git a/configs/bsh_smms2pro_defconfig b/configs/bsh_smms2pro_defconfig
> >>>> new file mode 100644
> >>>> index 0000000000..8472c6db2b
> >>>> --- /dev/null
> >>>> +++ b/configs/bsh_smms2pro_defconfig
> >>>> @@ -0,0 +1,46 @@
> >>>> +BR2_aarch64=y
> >>>> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc3"
> >>>> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/bsh/bsh-imx8mn/post-build.sh"
> >>>> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/bsh/bsh-imx8mn/post-image.sh"
> >>>> +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mn-bsh-smm-s2pro.dtb"
> >>>> +BR2_LINUX_KERNEL=y
> >>>> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> >>>> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
> >>>> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="v5.17-rc1"
> >>>> +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
> >>>> +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_GIT=y
> >>>> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://gitlab.apertis.org/adalessandro/u-boot.git"
> >>>> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="wip/adalessandro/bsh-smm2-pro"
> >>>> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mn_bsh_smm_s2pro"
> >>>> +BR2_TARGET_UBOOT_NEEDS_DTC=y
> >>>> +BR2_TARGET_UBOOT_NEEDS_PYTHON3=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_IMX_MKIMAGE=y
> >>>
> >>> When building the final imx flash.bin image with binman this host tool
> >>> is no longer required.
> >>>
> >>>> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> >>>> +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
> >>>
> >>> Same here.
> >>
> >> You mean the UBOOT_TOOLS* package. I will drop as soon as I have a
> >> uboot downloading point in apertis (better the this one)
> >
> > I think Heiko means BR2_PACKAGE_HOST_IMX_MKIMAGE=y, indeed I've just
> > built successfully the defconfig.
> >
> > So I give you a:
> > Reviewed-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
> >
> > removing BR2_PACKAGE_HOST_IMX_MKIMAGE=y
> >
> > and with the promise to bump Linux and U-Boot versions as soon as new
> > versions are released with the goal of removing the -rc1 versions.
>
> Forgotten to mention again, we need Ariel "Tested-by:" before applying.
>
> Regards
> --
> Giulio Benetti
> Benetti Engineering sas



-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com
www.amarulasolutions.com



More information about the buildroot mailing list