* [Buildroot] [PATCH v6] configs/imxrt1050-evk: New defconfig
@ 2023-01-02 18:16 Jesse Taube
2023-01-02 20:23 ` Giulio Benetti
2023-08-09 21:25 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Jesse Taube @ 2023-01-02 18:16 UTC (permalink / raw)
To: buildroot
Cc: maeva.manuel, Giulio Benetti, festevam, stephane.viau,
Jesse Taube
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@500Mhz
up to the latter with i.MXRT1170 with cortex-M7@1Ghz and
cortex-M4@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@gmail.com>
Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@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@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@gmail.com>
+F: board/freescale/imxrt1050evk/*
+F: configs/imxrt1050-evk_defconfig
+
N: Jesse Van Gavere <jesseevg@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
--
2.39.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v6] configs/imxrt1050-evk: New defconfig
2023-01-02 18:16 [Buildroot] [PATCH v6] configs/imxrt1050-evk: New defconfig Jesse Taube
@ 2023-01-02 20:23 ` Giulio Benetti
2023-08-09 21:25 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Giulio Benetti @ 2023-01-02 20:23 UTC (permalink / raw)
To: Jesse Taube, buildroot; +Cc: festevam, maeva.manuel, stephane.viau
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@500Mhz
> up to the latter with i.MXRT1170 with cortex-M7@1Ghz and
> cortex-M4@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@gmail.com>
> Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> Tested-by: Giulio Benetti <giulio.benetti@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@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@gmail.com>
> +F: board/freescale/imxrt1050evk/*
> +F: configs/imxrt1050-evk_defconfig
> +
> N: Jesse Van Gavere <jesseevg@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@Benetti Engineering sas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH v6] configs/imxrt1050-evk: New defconfig
2023-01-02 18:16 [Buildroot] [PATCH v6] configs/imxrt1050-evk: New defconfig Jesse Taube
2023-01-02 20:23 ` Giulio Benetti
@ 2023-08-09 21:25 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-08-09 21:25 UTC (permalink / raw)
To: Jesse Taube
Cc: festevam, Giulio Benetti, maeva.manuel, stephane.viau, buildroot
Hello Jesse,
On Mon, 2 Jan 2023 13:16:03 -0500
Jesse Taube <mr.bossman075@gmail.com> 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@500Mhz
> up to the latter with i.MXRT1170 with cortex-M7@1Ghz and
> cortex-M4@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@gmail.com>
> Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
> Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Sorry for the super super long delay, but I have now applied this patch
to our next branch.
> 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@benettiengineering.com>
> +F: board/freescale/imxrt1050evk/*
The * here is not needed. A directory is properly interpreted.
> +N: Jesse Taube <Mr.Bossman075@gmail.com>
> +F: board/freescale/imxrt1050evk/*
Same.
> +# Required tools to create the SD card image
> +BR2_PACKAGE_HOST_GENIMAGE=y
> +BR2_PACKAGE_HOST_MKPASSWD=y
I don't think mkpasswd is needed in your configuration, so I dropped
that.
Committed with those changes.
Possible improvements now:
- Update to newer kernel/U-Boot
- Use zImage instead of uImage for the kernel if possible
- Maybe use extlinux.conf in U-Boot if it's also possible
Nothing urgent, just suggestions.
Thanks for your contribution!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-08-09 21:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-02 18:16 [Buildroot] [PATCH v6] configs/imxrt1050-evk: New defconfig Jesse Taube
2023-01-02 20:23 ` Giulio Benetti
2023-08-09 21:25 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox