From patchwork Tue Jun 7 07:28:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 1639823 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=amarulasolutions.com header.i=@amarulasolutions.com header.a=rsa-sha256 header.s=google header.b=hpZG7X/U; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LHMTP2fKsz9sFw for ; Tue, 7 Jun 2022 17:30:33 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 55B1384212; Tue, 7 Jun 2022 07:30:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id a7jK8Q-oMv8P; Tue, 7 Jun 2022 07:30:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id D73778420A; Tue, 7 Jun 2022 07:30:28 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 957831BF2C1 for ; Tue, 7 Jun 2022 07:29:55 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 911BA41A00 for ; Tue, 7 Jun 2022 07:29:55 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=amarulasolutions.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wqo0pUs4qNAK for ; Tue, 7 Jun 2022 07:29:53 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) by smtp4.osuosl.org (Postfix) with ESMTPS id 71FC1419E4 for ; Tue, 7 Jun 2022 07:29:52 +0000 (UTC) Received: by mail-io1-xd2a.google.com with SMTP id y12so14631261ior.7 for ; Tue, 07 Jun 2022 00:29:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RpfY4/ZzJxyHHKlYrOzA2v6TF/OQIw1GeugwCc/qdw4=; b=hpZG7X/U8OOWzN0eSTNaAFXiShLZcRClsXUULEuNR+ZjeE5pmFpIzPK28Bwf8EVh/y inPqbP+jUXB5sYiREoRsx2KJrDVzG09G1Q8+Dn1IwK4Ubd1WmWhXw+6hWbcjMS6gos7i 56I1/SOk6zI0gVT0yHsiIetvqRzTmF5MxxRRI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RpfY4/ZzJxyHHKlYrOzA2v6TF/OQIw1GeugwCc/qdw4=; b=RVbSid7JzI3j0c/OraQgJ8X9b6BFwSfLennAtezhmlYTaIy2p9vMlZ3V+lEHcbJHBa HICZmKA/clhv1SEsBgsFDRNaPtuCZfi0w/8Ic9TpUPCED+AQI7GtggDkBB7QVL3KUuZn S9iYF4FH/LUoKYCWnpzhVPcVfFmI4xBmYWQxqewBUjyTzRwLmpF6kUuYqfzOa+KOGMG1 L5vwFJpMXF4Zc5puLmIwsp+iLXPhSwe15nNZU3juZFsmPCNx7nMMaDt5GcOVS5TA6erN VKsXOf+0l1KWJLtlUyg+EPLqCsFM9Eef7J5+35q1sPNJkYinPnKy4SRtyerUYaswgxoA XLVQ== X-Gm-Message-State: AOAM532z3+uSu3Kp4JfLP6hlt4cLK/cZ0kZYCHAHWscJpDMNJnFjAxLa iknwXvsPY62E2R2JvRPU5WTHpmdAN5OFpg== X-Google-Smtp-Source: ABdhPJwYAzFeZpT/IDNbXJyEw2U7dHDZ2WY61B+U6Z1kNsY4ZuRHay149H9aIQ2X0VXLqAI4fvlUMw== X-Received: by 2002:a05:6638:1c07:b0:331:a800:1062 with SMTP id ca7-20020a0566381c0700b00331a8001062mr5379172jab.4.1654586990945; Tue, 07 Jun 2022 00:29:50 -0700 (PDT) Received: from dario-ThinkPad-T14s-Gen-2i.pdxnet.pdxeng.ch (host-80-116-90-174.retail.telecomitalia.it. [80.116.90.174]) by smtp.gmail.com with ESMTPSA id cx4-20020a056638490400b0033126faae3asm6406075jab.116.2022.06.07.00.29.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 00:29:50 -0700 (PDT) From: Dario Binacchi To: buildroot@buildroot.org Date: Tue, 7 Jun 2022 09:28:52 +0200 Message-Id: <20220607072852.1007185-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220607072852.1007185-1-dario.binacchi@amarulasolutions.com> References: <20220607072852.1007185-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH 3/3] board/bsh: add support for iMX8MN BSH SMM S2 PRO board X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: michael@amarulasolutions.com, Ariel D'Alessandro , Samuel Martin , Jagan Teki , Giulio Benetti , dario.binacchi@amarulasolutions.com, linux-amarula@amarulasolutions.com, Heiko Thiery Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" From: Michael Trimarchi 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-rc2 - 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 Cc: Jagan Teki Cc: Heiko Thiery Cc: Giulio Benetti Reviewed-by: Giulio Benetti Signed-off-by: Michael Trimarchi Tested-by: Ariel D'Alessandro Signed-off-by: Dario Binacchi --- DEVELOPERS | 4 + .../imx8mn-bsh-smm-s2/linux.config | 0 board/bsh/imx8mn-bsh-smm-s2-pro/extlinux.conf | 4 + board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh | 19 +++++ 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, 169 insertions(+), 1 deletion(-) rename board/bsh/{ => common}/imx8mn-bsh-smm-s2/linux.config (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 02fd23af8b82..7fa67389c9d7 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -214,6 +214,8 @@ F: configs/snps_archs38_haps_defconfig F: configs/snps_archs38_hsdk_defconfig N: Ariel D'Alessandro +F: board/bsh/ +F: configs/imx8mn_bsh_smm_s2_pro_defconfig F: package/axfsutils/ F: package/mali-t76x/ @@ -653,6 +655,7 @@ F: package/xinetd/ N: Dario Binacchi F: board/bsh/ F: configs/imx8mn_bsh_smm_s2_defconfig +F: configs/imx8mn_bsh_smm_s2_pro_defconfig F: package/uuu/ N: Dario Binacchi @@ -2044,6 +2047,7 @@ F: package/python-pyzmq/ N: Michael Trimarchi 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 diff --git a/board/bsh/imx8mn-bsh-smm-s2/linux.config b/board/bsh/common/imx8mn-bsh-smm-s2/linux.config similarity index 100% rename from board/bsh/imx8mn-bsh-smm-s2/linux.config rename to board/bsh/common/imx8mn-bsh-smm-s2/linux.config 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..afce8ea41682 --- /dev/null +++ b/board/bsh/imx8mn-bsh-smm-s2-pro/flash.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +OUTPUT_DIR=$1 + +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 d500f2fc7b99..2d8dbfe740ac 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_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bsh/imx8mn-bsh-smm-s2/linux.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bsh/common/imx8mn-bsh-smm-s2/linux.config" 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..4128257c4599 --- /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_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/bsh/common/imx8mn-bsh-smm-s2/linux.config" +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-rc2" +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