Skip to contentSkip to conversation

board: Add support for iMX8MN BSH SMM S2 PRO

PATCH Superseded Michael Trimarchi 3 participants 7 messages Jan 31, 2022 Arm i.MX and Layerscape

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 board: Add support for iMX8MN BSH SMM S2 PRO

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 <[email protected]>
Cc Jagan Teki <[email protected]>

---
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
DEVELOPERS +2 -0
index fe8de1916e..fc66fb6b83 100644
@@ -220,6 +220,7 @@ F:	configs/snps_archs38_hsdk_defconfig
 F:	configs/snps_archs38_vdk_defconfig
 
 N:	Ariel D'Alessandro <[email protected]>
+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 <[email protected]>
+F:	board/bsh/
 F:	package/python-spidev/
 
 N:	Michael Vetter <[email protected]>
board/bsh/bsh-imx8mn/extlinux.conf new file +4 -0
new file mode 100644
index 0000000000..9111354742
@@ -0,0 +1,4 @@
+label buildroot
+  kernel /boot/Image
+  devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
+  append root=PARTUUID=%PARTUUID% rootwait rw
board/bsh/bsh-imx8mn/genimage.cfg new file +17 -0
new file mode 100644
index 0000000000..bc100b171d
@@ -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%
+	}
+}
board/bsh/bsh-imx8mn/post-build.sh new file +7 -0
new file mode 100755
index 0000000000..bf8861f6a9
@@ -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"
board/bsh/bsh-imx8mn/post-image.sh new file +3 -0
new file mode 100755
index 0000000000..3452fd4501
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
board/bsh/bsh-imx8mn/readme.txt new file +55 -0

55 lines not on this page · raw message

configs/bsh_smms2pro_defconfig new file +46 -0

46 lines not on this page · raw message

Signature · 6 lines
2.25.1

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw

Hi Michael,

Am Mo., 31. Jan. 2022 um 09:52 Uhr schrieb Michael Trimarchi <[email protected]>:

Quoted 215 lines

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 <[email protected]>
Cc Jagan Teki <[email protected]>

---
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
DEVELOPERS +2 -0
index fe8de1916e..fc66fb6b83 100644
@@ -220,6 +220,7 @@ F:  configs/snps_archs38_hsdk_defconfig
 F:     configs/snps_archs38_vdk_defconfig
 
 N:     Ariel D'Alessandro <[email protected]>
+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 <[email protected]>
+F:     board/bsh/
 F:     package/python-spidev/
 
 N:     Michael Vetter <[email protected]>
board/bsh/bsh-imx8mn/extlinux.conf new file +4 -0
new file mode 100644
index 0000000000..9111354742
@@ -0,0 +1,4 @@
+label buildroot
+  kernel /boot/Image
+  devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
+  append root=PARTUUID=%PARTUUID% rootwait rw
board/bsh/bsh-imx8mn/genimage.cfg new file +17 -0
new file mode 100644
index 0000000000..bc100b171d
@@ -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%
+       }
+}
board/bsh/bsh-imx8mn/post-build.sh new file +7 -0
new file mode 100755
index 0000000000..bf8861f6a9
@@ -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"
board/bsh/bsh-imx8mn/post-image.sh new file +3 -0
new file mode 100755
index 0000000000..3452fd4501
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
board/bsh/bsh-imx8mn/readme.txt new file +55 -0
new file mode 100644
index 0000000000..ae30666cd0
@@ -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.
configs/bsh_smms2pro_defconfig new file +34 -0
new file mode 100644
index 0000000000..8472c6db2b
@@ -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

configs/bsh_smms2pro_defconfig line 44

Quoted 10 lines
configs/bsh_smms2pro_defconfig new file +10 -0
+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.

configs/bsh_smms2pro_defconfig line 46

Quoted 2 lines
configs/bsh_smms2pro_defconfig new file +2 -0
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y

Same here.

Signature · 5 lines
Heiko
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#2 lore raw

Hi Heiko

Quoted 234 lines · Heiko Thiery

Hi Michael,

Am Mo., 31. Jan. 2022 um 09:52 Uhr schrieb Michael Trimarchi <[email protected]>:

Quoted 215 lines

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 <[email protected]>
Cc Jagan Teki <[email protected]>

---
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
DEVELOPERS +2 -0
index fe8de1916e..fc66fb6b83 100644
@@ -220,6 +220,7 @@ F:  configs/snps_archs38_hsdk_defconfig
 F:     configs/snps_archs38_vdk_defconfig
 
 N:     Ariel D'Alessandro <[email protected]>
+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 <[email protected]>
+F:     board/bsh/
 F:     package/python-spidev/
 
 N:     Michael Vetter <[email protected]>
board/bsh/bsh-imx8mn/extlinux.conf new file +4 -0
new file mode 100644
index 0000000000..9111354742
@@ -0,0 +1,4 @@
+label buildroot
+  kernel /boot/Image
+  devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
+  append root=PARTUUID=%PARTUUID% rootwait rw
board/bsh/bsh-imx8mn/genimage.cfg new file +17 -0
new file mode 100644
index 0000000000..bc100b171d
@@ -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%
+       }
+}
board/bsh/bsh-imx8mn/post-build.sh new file +7 -0
new file mode 100755
index 0000000000..bf8861f6a9
@@ -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"
board/bsh/bsh-imx8mn/post-image.sh new file +3 -0
new file mode 100755
index 0000000000..3452fd4501
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
board/bsh/bsh-imx8mn/readme.txt new file +55 -0
new file mode 100644
index 0000000000..ae30666cd0
@@ -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.
configs/bsh_smms2pro_defconfig new file +34 -0
new file mode 100644
index 0000000000..8472c6db2b
@@ -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

configs/bsh_smms2pro_defconfig line 44

Quoted 10 lines
configs/bsh_smms2pro_defconfig new file +10 -0
+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.

Quoted 4 lines

configs/bsh_smms2pro_defconfig line 46

Quoted 2 lines
configs/bsh_smms2pro_defconfig new file +2 -0
+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)

Michael

Quoted 3 lines

--
Heiko

Signature · 15 lines
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
[email protected]
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
[email protected]
www.amarulasolutions.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Reviewed-by
#3 lore raw

Hi Michael, Heiko, All,

Quoted 237 lines · Michael Nazzareno Trimarchi

Hi Heiko

Quoted 234 lines · Heiko Thiery

Hi Michael,

Am Mo., 31. Jan. 2022 um 09:52 Uhr schrieb Michael Trimarchi <[email protected]>:

Quoted 215 lines

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 <[email protected]>
Cc Jagan Teki <[email protected]>

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

DEVELOPERS +2 -0
index fe8de1916e..fc66fb6b83 100644
@@ -220,6 +220,7 @@ F:  configs/snps_archs38_hsdk_defconfig
  F:     configs/snps_archs38_vdk_defconfig
 
  N:     Ariel D'Alessandro <[email protected]>
+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 <[email protected]>
+F:     board/bsh/
  F:     package/python-spidev/
 
  N:     Michael Vetter <[email protected]>
board/bsh/bsh-imx8mn/extlinux.conf new file +4 -0
new file mode 100644
index 0000000000..9111354742
@@ -0,0 +1,4 @@
+label buildroot
+  kernel /boot/Image
+  devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
+  append root=PARTUUID=%PARTUUID% rootwait rw
board/bsh/bsh-imx8mn/genimage.cfg new file +17 -0
new file mode 100644
index 0000000000..bc100b171d
@@ -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%
+       }
+}
board/bsh/bsh-imx8mn/post-build.sh new file +7 -0
new file mode 100755
index 0000000000..bf8861f6a9
@@ -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"
board/bsh/bsh-imx8mn/post-image.sh new file +3 -0
new file mode 100755
index 0000000000..3452fd4501
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
board/bsh/bsh-imx8mn/readme.txt new file +55 -0
new file mode 100644
index 0000000000..ae30666cd0
@@ -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.
configs/bsh_smms2pro_defconfig new file +34 -0
new file mode 100644
index 0000000000..8472c6db2b
@@ -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

configs/bsh_smms2pro_defconfig line 44

Quoted 10 lines
configs/bsh_smms2pro_defconfig new file +10 -0
+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.

Quoted 7 lines
Quoted 4 lines

configs/bsh_smms2pro_defconfig line 46

Quoted 2 lines
configs/bsh_smms2pro_defconfig new file +2 -0
+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:

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.

Kind regards to everybody!

Signature · 6 lines
Giulio Benetti
Benetti Engineering sas
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#4 lore raw
Quoted 251 lines · Giulio Benetti

Hi Michael, Heiko, All,

Quoted 237 lines · Michael Nazzareno Trimarchi

Hi Heiko

Quoted 234 lines · Heiko Thiery

Hi Michael,

Am Mo., 31. Jan. 2022 um 09:52 Uhr schrieb Michael Trimarchi <[email protected]>:

Quoted 215 lines

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 <[email protected]>
Cc Jagan Teki <[email protected]>

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

DEVELOPERS +2 -0
index fe8de1916e..fc66fb6b83 100644
@@ -220,6 +220,7 @@ F:  configs/snps_archs38_hsdk_defconfig
   F:     configs/snps_archs38_vdk_defconfig
 
   N:     Ariel D'Alessandro <[email protected]>
+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 <[email protected]>
+F:     board/bsh/
   F:     package/python-spidev/
 
   N:     Michael Vetter <[email protected]>
board/bsh/bsh-imx8mn/extlinux.conf new file +4 -0
new file mode 100644
index 0000000000..9111354742
@@ -0,0 +1,4 @@
+label buildroot
+  kernel /boot/Image
+  devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
+  append root=PARTUUID=%PARTUUID% rootwait rw
board/bsh/bsh-imx8mn/genimage.cfg new file +17 -0
new file mode 100644
index 0000000000..bc100b171d
@@ -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%
+       }
+}
board/bsh/bsh-imx8mn/post-build.sh new file +7 -0
new file mode 100755
index 0000000000..bf8861f6a9
@@ -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"
board/bsh/bsh-imx8mn/post-image.sh new file +3 -0
new file mode 100755
index 0000000000..3452fd4501
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
board/bsh/bsh-imx8mn/readme.txt new file +55 -0
new file mode 100644
index 0000000000..ae30666cd0
@@ -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.
configs/bsh_smms2pro_defconfig new file +34 -0
new file mode 100644
index 0000000000..8472c6db2b
@@ -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

configs/bsh_smms2pro_defconfig line 44

Quoted 10 lines
configs/bsh_smms2pro_defconfig new file +10 -0
+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.

Quoted 7 lines
Quoted 4 lines

configs/bsh_smms2pro_defconfig line 46

Quoted 2 lines
configs/bsh_smms2pro_defconfig new file +2 -0
+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.

Quoted 7 lines

So I give you a:

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

Signature · 6 lines
Giulio Benetti
Benetti Engineering sas
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#5 lore raw

Hi

git diff

configs/bsh_smms2pro_defconfig +0 -3
index 8472c6db2b..34d92fa4cc 100644
@@ -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

Quoted 267 lines · Giulio Benetti
Quoted 251 lines · Giulio Benetti

Hi Michael, Heiko, All,

Quoted 237 lines · Michael Nazzareno Trimarchi

Hi Heiko

Quoted 234 lines · Heiko Thiery

Hi Michael,

Am Mo., 31. Jan. 2022 um 09:52 Uhr schrieb Michael Trimarchi <[email protected]>:

Quoted 215 lines

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 <[email protected]>
Cc Jagan Teki <[email protected]>

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

DEVELOPERS +2 -0
index fe8de1916e..fc66fb6b83 100644
@@ -220,6 +220,7 @@ F:  configs/snps_archs38_hsdk_defconfig
   F:     configs/snps_archs38_vdk_defconfig
 
   N:     Ariel D'Alessandro <[email protected]>
+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 <[email protected]>
+F:     board/bsh/
   F:     package/python-spidev/
 
   N:     Michael Vetter <[email protected]>
board/bsh/bsh-imx8mn/extlinux.conf new file +4 -0
new file mode 100644
index 0000000000..9111354742
@@ -0,0 +1,4 @@
+label buildroot
+  kernel /boot/Image
+  devicetree /boot/freescale/imx8mn-bsh-smm-s2pro.dtb
+  append root=PARTUUID=%PARTUUID% rootwait rw
board/bsh/bsh-imx8mn/genimage.cfg new file +17 -0
new file mode 100644
index 0000000000..bc100b171d
@@ -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%
+       }
+}
board/bsh/bsh-imx8mn/post-build.sh new file +7 -0
new file mode 100755
index 0000000000..bf8861f6a9
@@ -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"
board/bsh/bsh-imx8mn/post-image.sh new file +3 -0
new file mode 100755
index 0000000000..3452fd4501
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+support/scripts/genimage.sh -c ${BINARIES_DIR}/genimage.cfg
board/bsh/bsh-imx8mn/readme.txt new file +55 -0
new file mode 100644
index 0000000000..ae30666cd0
@@ -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.
configs/bsh_smms2pro_defconfig new file +34 -0
new file mode 100644
index 0000000000..8472c6db2b
@@ -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

configs/bsh_smms2pro_defconfig line 44

Quoted 10 lines
configs/bsh_smms2pro_defconfig new file +10 -0
+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.

Quoted 7 lines
Quoted 4 lines

configs/bsh_smms2pro_defconfig line 46

Quoted 2 lines
configs/bsh_smms2pro_defconfig new file +2 -0
+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.

Quoted 7 lines

So I give you a:

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

Signature · 15 lines
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
[email protected]
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
[email protected]
www.amarulasolutions.com
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#6 lore raw

Hi,

Am Mo., 31. Jan. 2022 um 13:43 Uhr schrieb Michael Nazzareno Trimarchi <[email protected]>:

Quoted 16 lines

Hi

git diff

configs/bsh_smms2pro_defconfig +0 -3
index 8472c6db2b..34d92fa4cc 100644
@@ -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
Quoted 2 lines

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

Yes .. this is what I meant.

Signature · 5 lines
Heiko
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot