[Buildroot] [PATCH v6] configs/imxrt1050-evk: New defconfig
Giulio Benetti
giulio.benetti at benettiengineering.com
Mon Jan 2 20:23:56 UTC 2023
Hi Jesse,
On 02/01/23 19:16, Jesse Taube wrote:
> Add defconfig for imxrt1050-evk is a development board from NXP.
>
> Giulio and I worked on Linux and U-boot for this board. And now I'm
> adding support for the new board in Buildroot.
>
> The i.MXRTxxxx family spreads from i.MXRT1020 to i.MXRT1170 with the
> first one supporting 1 USB OTG & 100M ethernet with a cortex-M7 at 500Mhz
> up to the latter with i.MXRT1170 with cortex-M7 at 1Ghz and
> cortex-M4 at 400Mhz, 2MB of internal SRAM, 2D GPU, 2x 1Gb and
> 1x 100Mb ENET. The i.MXRT family is NXP's answer to STM32F7xx, as it
> uses only simple SDRAM, it gives the chance of a 4 or less layer PCBs.
> Seeing that these chips are comparable to the STM32F7xxs which have
> buildroot ported to them it seems reasonable to add support for them.
>
> https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1050-evaluation-kit:MIMXRT1050-EVK
>
> Signed-off-by: Jesse Taube <Mr.Bossman075 at gmail.com>
> Cc: Giulio Benetti <giulio.benetti at benettiengineering.com>
> Reviewed-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
> Tested-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
> ---
> DEVELOPERS | 6 +++
> board/freescale/imxrt1050evk/genimage.cfg | 40 ++++++++++++++++++
> board/freescale/imxrt1050evk/readme.txt | 30 ++++++++++++++
> board/freescale/imxrt1050evk/uboot.fragment | 2 +
> configs/imxrt1050-evk_defconfig | 45 +++++++++++++++++++++
> 5 files changed, 123 insertions(+)
> create mode 100644 board/freescale/imxrt1050evk/genimage.cfg
> create mode 100644 board/freescale/imxrt1050evk/readme.txt
> create mode 100644 board/freescale/imxrt1050evk/uboot.fragment
> create mode 100644 configs/imxrt1050-evk_defconfig
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 59121c6a54..ee33c65fd4 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1132,9 +1132,11 @@ F: package/webp/
> F: package/xapian/
>
> N: Giulio Benetti <giulio.benetti at benettiengineering.com>
> +F: board/freescale/imxrt1050evk/*
> F: board/olimex/a*
> F: configs/amarula_vyasa_rk3288_defconfig
> F: configs/asus_tinker_rk3288_defconfig
> +F: configs/imxrt1050-evk_defconfig
> F: configs/olimex_a*
> F: package/at/
> F: package/binutils/
> @@ -1477,6 +1479,10 @@ F: package/wmctrl/
> F: package/x11r7/xdriver_xf86-video-imx/
> F: package/x11r7/xdriver_xf86-video-imx-viv/
>
> +N: Jesse Taube <Mr.Bossman075 at gmail.com>
> +F: board/freescale/imxrt1050evk/*
> +F: configs/imxrt1050-evk_defconfig
> +
> N: Jesse Van Gavere <jesseevg at gmail.com>
> F: package/qt6/qt6serialport/
>
> diff --git a/board/freescale/imxrt1050evk/genimage.cfg b/board/freescale/imxrt1050evk/genimage.cfg
> new file mode 100644
> index 0000000000..daa51bdbe0
> --- /dev/null
> +++ b/board/freescale/imxrt1050evk/genimage.cfg
> @@ -0,0 +1,40 @@
> +image boot.vfat {
> + vfat {
> + files = {
> + "uImage",
> + "imxrt1050-evk.dtb",
> + }
> + }
> +
> + size = 8M
> +}
> +
> +image sdcard.img {
> + hdimage {
> + }
> +
> + partition SPL {
> + in-partition-table = "no"
> + image = "SPL"
> + offset = 1K
> + size = 127K
> + }
> +
> + partition u-boot {
> + in-partition-table = "no"
> + image = "u-boot.img"
> + offset = 128K
> + size = 512K
> + }
> +
> + partition boot {
> + partition-type = 0xc
> + bootable = "true"
> + image = "boot.vfat"
> + }
> +
> + partition rootfs {
> + partition-type = 0x83
> + image = "rootfs.ext4"
> + }
> +}
> diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt
> new file mode 100644
> index 0000000000..1fc4edd88b
> --- /dev/null
> +++ b/board/freescale/imxrt1050evk/readme.txt
> @@ -0,0 +1,30 @@
> +NXP i.MXRT1050 EVK board
> +------------------------
> +
> +i.MX RT1050 are NXP's crossover MCUs. They combine the high performance and high
> +level of integration of an applications processors with the ease-of-use and
> +real-time functionality of a microcontroller. The i.MX RT1050 MCU runs on the Arm
> +Cortex-M7 core at 600 MHz.
> +https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1050-evaluation-kit:MIMXRT1050-EVK
> +
> +To build a minimal support for this board:
> +
> +$ make imxrt1050-evk_defconfig
> +$ make
> +
> +Buildroot prepares a bootable "sdcard.img" image in the output/images/
> +directory, ready to be flashed into the SD card:
> +
> +$ dd if=output/images/sdcard.img of=/dev/sdX
> +Where 'sdX' is the device node of the uSD.
> +
> +Jumper settings:
> +
> + SW7: 1 0 1 0
> +
> +Where 0 means bottom position and 1 means top position (from the
> +switch label numbers reference).
> +
> +Connect the USB cable between the EVK and the PC for the console.
> +
> +Insert the micro SD card in the board, power it up and U-Boot messages should come up.
> diff --git a/board/freescale/imxrt1050evk/uboot.fragment b/board/freescale/imxrt1050evk/uboot.fragment
> new file mode 100644
> index 0000000000..1c5bb6af35
> --- /dev/null
> +++ b/board/freescale/imxrt1050evk/uboot.fragment
> @@ -0,0 +1,2 @@
> +CONFIG_USE_BOOTCOMMAND=y
> +CONFIG_BOOTCOMMAND="setenv bootargs console=ttyLP0 root=/dev/mmcblk0p2 rw earlycon rootwait;load mmc 0:1 0x80800000 imxrt1050-evk.dtb;load mmc 0:1 0x80000000 uImage;bootm 0x80000000 - 0x80800000"
> diff --git a/configs/imxrt1050-evk_defconfig b/configs/imxrt1050-evk_defconfig
> new file mode 100644
> index 0000000000..e1b8f2013b
> --- /dev/null
> +++ b/configs/imxrt1050-evk_defconfig
> @@ -0,0 +1,45 @@
> +# Architecture
> +BR2_arm=y
> +BR2_cortex_m7=y
> +
> +# Image
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
> +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/imxrt1050evk/genimage.cfg"
> +
> +# Toolchain
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_1=y
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1"
> +BR2_LINUX_KERNEL_DEFCONFIG="imxrt"
> +BR2_LINUX_KERNEL_UIMAGE=y
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imxrt1050-evk"
> +
> +# Filesystem
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="16M"
> +
> +# NOMMU Busybox
> +BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
> +
> +# Bootloader
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imxrt1050-evk"
> +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/freescale/imxrt1050evk/uboot.fragment"
> +BR2_TARGET_UBOOT_FORMAT_IMG=y
> +BR2_TARGET_UBOOT_SPL=y
> +BR2_TARGET_UBOOT_SPL_NAME="SPL"
> +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
> +
> +# Required tools to create the SD card image
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MKPASSWD=y
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_MTOOLS=y
I've retested with this patch and everything works fine.
Best regards
--
Giulio Benetti
CEO/CTO at Benetti Engineering sas
More information about the buildroot
mailing list