All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig
@ 2022-07-30  6:12 Jesse Taube
  2022-08-01 20:50 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 6+ messages in thread
From: Jesse Taube @ 2022-07-30  6:12 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.

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>
---
 DEVELOPERS                                  |  6 +++
 board/freescale/imxrt1050evk/genimage.cfg   | 40 +++++++++++++++++++
 board/freescale/imxrt1050evk/post-build.sh  |  6 +++
 board/freescale/imxrt1050evk/readme.txt     | 24 +++++++++++
 board/freescale/imxrt1050evk/uboot.fragment |  2 +
 configs/imxrt1050-evk_defconfig             | 44 +++++++++++++++++++++
 6 files changed, 122 insertions(+)
 create mode 100644 board/freescale/imxrt1050evk/genimage.cfg
 create mode 100755 board/freescale/imxrt1050evk/post-build.sh
 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 0afd697b6c..206bac99e0 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1096,9 +1096,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/
@@ -1421,6 +1423,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:	Jianhui Zhao <zhaojh329@gmail.com>
 F:	package/libuhttpd/
 F:	package/libuwsc/
diff --git a/board/freescale/imxrt1050evk/genimage.cfg b/board/freescale/imxrt1050evk/genimage.cfg
new file mode 100644
index 0000000000..7e1e932d37
--- /dev/null
+++ b/board/freescale/imxrt1050evk/genimage.cfg
@@ -0,0 +1,40 @@
+image boot.vfat {
+	vfat {
+		files = {
+			"uImage",
+			"imxrt1050-evk.dtb",
+		}
+	}
+
+	size = 6M
+}
+
+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/post-build.sh b/board/freescale/imxrt1050evk/post-build.sh
new file mode 100755
index 0000000000..476958a691
--- /dev/null
+++ b/board/freescale/imxrt1050evk/post-build.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+MKIMAGE=$HOST_DIR/bin/mkimage
+
+if [ -e $BINARIES_DIR/Image ]; then
+	$MKIMAGE -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d $BINARIES_DIR/Image $BINARIES_DIR/uImage
+fi
diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt
new file mode 100644
index 0000000000..bbbcd5307f
--- /dev/null
+++ b/board/freescale/imxrt1050evk/readme.txt
@@ -0,0 +1,24 @@
+NXP i.MXRT1050 EVK board
+---------------------
+
+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..22da281e3a
--- /dev/null
+++ b/configs/imxrt1050-evk_defconfig
@@ -0,0 +1,44 @@
+# Architecture
+BR2_arm=y
+BR2_cortex_m7=y
+
+# Image
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/imxrt1050evk/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/freescale/imxrt1050evk/genimage.cfg"
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19-rc5"
+BR2_LINUX_KERNEL_DEFCONFIG="imxrt"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
+BR2_LINUX_KERNEL_IMAGE_NAME="Image"
+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_LABEL="root"
+BR2_TARGET_ROOTFS_EXT2_SIZE="3M"
+
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+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_UBOOT_TOOLS=y
+
+# Misc
+BR2_BINUTILS_VERSION_2_36_X=y
+# thumb2 ADR bug introduced in 2.37 fix is not yet in u-boot
-- 
2.36.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig
  2022-07-30  6:12 [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig Jesse Taube
@ 2022-08-01 20:50 ` Thomas Petazzoni via buildroot
  2022-08-01 21:46   ` Jesse T
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-01 20:50 UTC (permalink / raw)
  To: Jesse Taube
  Cc: festevam, Giulio Benetti, maeva.manuel, stephane.viau, buildroot

Hello Jesse,

Thanks for your contribution!

On Sat, 30 Jul 2022 02:12:19 -0400
Jesse Taube <mr.bossman075@gmail.com> wrote:

> Add defconfig for imxrt1050-evk is a development board from NXP.
> 
> 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>

Thanks a lot, it looks mostly good, but I have a few comments/questions.

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

Any reason to add Giulio here?


> diff --git a/board/freescale/imxrt1050evk/post-build.sh b/board/freescale/imxrt1050evk/post-build.sh
> new file mode 100755
> index 0000000000..476958a691
> --- /dev/null
> +++ b/board/freescale/imxrt1050evk/post-build.sh
> @@ -0,0 +1,6 @@
> +#!/bin/sh
> +MKIMAGE=$HOST_DIR/bin/mkimage
> +
> +if [ -e $BINARIES_DIR/Image ]; then

Why is this test needed? The Image file will be produced by the kernel
build, so it should be there. If it's not, we should really error out
hard. So I think doing without the test is better.

> +	$MKIMAGE -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d $BINARIES_DIR/Image $BINARIES_DIR/uImage
> +fi
> diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt
> new file mode 100644
> index 0000000000..bbbcd5307f
> --- /dev/null
> +++ b/board/freescale/imxrt1050evk/readme.txt
> @@ -0,0 +1,24 @@
> +NXP i.MXRT1050 EVK board
> +---------------------

Add the few missing '-'

Also, as requested by Giulio, a short intro about the board + a link
would be useful here.


> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19-rc5"

5.19 is out now, so you can use a non-rc version :)

> +BR2_LINUX_KERNEL_DEFCONFIG="imxrt"
> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> +BR2_LINUX_KERNEL_IMAGE_NAME="Image"
> +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_LABEL="root"
> +BR2_TARGET_ROOTFS_EXT2_SIZE="3M"

Why limit to 3 MB ? Is there a strong reason? Also, leave the label
undefined.

> +# Bootloader
> +BR2_TARGET_UBOOT=y

Please used a version of U-Boot explicitly defined in the defconfig.

> +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_UBOOT_TOOLS=y
> +
> +# Misc
> +BR2_BINUTILS_VERSION_2_36_X=y
> +# thumb2 ADR bug introduced in 2.37 fix is not yet in u-boot

Do you have some detail on this bug? Like a link to the bug report, or
something like this? Note that binutils 2.39 is soon going to arrive,
so we will get rid of binutils 2.36... which means we will very soon
have a problem with this defconfig.

Best regards,

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] 6+ messages in thread

* Re: [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig
  2022-08-01 20:50 ` Thomas Petazzoni via buildroot
@ 2022-08-01 21:46   ` Jesse T
  2022-08-01 22:05     ` Giulio Benetti
  2022-08-02  7:46     ` Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 6+ messages in thread
From: Jesse T @ 2022-08-01 21:46 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Fabio Estevam, Giulio Benetti, maeva.manuel, stephane.viau, buildroot

On Mon, Aug 1, 2022 at 4:50 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello Jesse,
>
> Thanks for your contribution!
>
> On Sat, 30 Jul 2022 02:12:19 -0400
> Jesse Taube <mr.bossman075@gmail.com> wrote:
>
> > Add defconfig for imxrt1050-evk is a development board from NXP.
> >
> > 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>
>
> Thanks a lot, it looks mostly good, but I have a few comments/questions.
>
> >  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/
>
> Any reason to add Giulio here?

We worked on Linux and U-Boot together.

>
> > diff --git a/board/freescale/imxrt1050evk/post-build.sh b/board/freescale/imxrt1050evk/post-build.sh
> > new file mode 100755
> > index 0000000000..476958a691
> > --- /dev/null
> > +++ b/board/freescale/imxrt1050evk/post-build.sh
> > @@ -0,0 +1,6 @@
> > +#!/bin/sh
> > +MKIMAGE=$HOST_DIR/bin/mkimage
> > +
> > +if [ -e $BINARIES_DIR/Image ]; then
>
> Why is this test needed? The Image file will be produced by the kernel
> build, so it should be there. If it's not, we should really error out
> hard. So I think doing without the test is better.

I was using board/nexbox/a95x/post-build.sh as a base, I can drop it.

> > +     $MKIMAGE -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d $BINARIES_DIR/Image $BINARIES_DIR/uImage
> > +fi
> > diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt
> > new file mode 100644
> > index 0000000000..bbbcd5307f
> > --- /dev/null
> > +++ b/board/freescale/imxrt1050evk/readme.txt
> > @@ -0,0 +1,24 @@
> > +NXP i.MXRT1050 EVK board
> > +---------------------
>
> Add the few missing '-'
>
> Also, as requested by Giulio, a short intro about the board + a link
> would be useful here.
>
>
> > +# Kernel
> > +BR2_LINUX_KERNEL=y
> > +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> > +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19-rc5"
>
> 5.19 is out now, so you can use a non-rc version :)

Sorry I forgot to change when submitting...

> > +BR2_LINUX_KERNEL_DEFCONFIG="imxrt"
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> > +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
> > +BR2_LINUX_KERNEL_IMAGE_NAME="Image"
> > +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_LABEL="root"
> > +BR2_TARGET_ROOTFS_EXT2_SIZE="3M"
>
> Why limit to 3 MB ? Is there a strong reason?

Because that's the nearest ceil(MB) size of the ext4 filesystem.
I like dd-ing the images fast.

Also, leave the label
> undefined.
>
> > +# Bootloader
> > +BR2_TARGET_UBOOT=y
>
> Please used a version of U-Boot explicitly defined in the defconfig.

Read below.

>
> > +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_UBOOT_TOOLS=y
> > +
> > +# Misc
> > +BR2_BINUTILS_VERSION_2_36_X=y
> > +# thumb2 ADR bug introduced in 2.37 fix is not yet in u-boot
>
> Do you have some detail on this bug? Like a link to the bug report, or
> something like this? Note that binutils 2.39 is soon going to arrive,
> so we will get rid of binutils 2.36... which means we will very soon
> have a problem with this defconfig.
>

https://patchwork.ozlabs.org/project/uboot/patch/20220712110023.3163770-1-andre.przywara@arm.com/

The patch above removes the need for binutils 2.36 and a U-Boot
version hasn't been released with that commit yet.
This is the reason for no U-Boot version.

Thanks,
Jesse T

> Best regards,
>
> 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] 6+ messages in thread

* Re: [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig
  2022-08-01 21:46   ` Jesse T
@ 2022-08-01 22:05     ` Giulio Benetti
  2022-08-01 23:18       ` Giulio Benetti
  2022-08-02  7:46     ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 6+ messages in thread
From: Giulio Benetti @ 2022-08-01 22:05 UTC (permalink / raw)
  To: Jesse T, Thomas Petazzoni
  Cc: maeva.manuel, Fabio Estevam, stephane.viau, buildroot

Hi Jesse,

On 01/08/22 23:46, Jesse T wrote:
> On Mon, Aug 1, 2022 at 4:50 PM Thomas Petazzoni
> <thomas.petazzoni@bootlin.com> wrote:
>>
>> Hello Jesse,
>>
>> Thanks for your contribution!
>>
>> On Sat, 30 Jul 2022 02:12:19 -0400
>> Jesse Taube <mr.bossman075@gmail.com> wrote:
>>
>>> Add defconfig for imxrt1050-evk is a development board from NXP.
>>>
>>> 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>
>>
>> Thanks a lot, it looks mostly good, but I have a few comments/questions.
>>
>>>   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/
>>
>> Any reason to add Giulio here?
> 
> We worked on Linux and U-Boot together.
> 
>>
>>> diff --git a/board/freescale/imxrt1050evk/post-build.sh b/board/freescale/imxrt1050evk/post-build.sh
>>> new file mode 100755
>>> index 0000000000..476958a691
>>> --- /dev/null
>>> +++ b/board/freescale/imxrt1050evk/post-build.sh
>>> @@ -0,0 +1,6 @@
>>> +#!/bin/sh
>>> +MKIMAGE=$HOST_DIR/bin/mkimage
>>> +
>>> +if [ -e $BINARIES_DIR/Image ]; then
>>
>> Why is this test needed? The Image file will be produced by the kernel
>> build, so it should be there. If it's not, we should really error out
>> hard. So I think doing without the test is better.
> 
> I was using board/nexbox/a95x/post-build.sh as a base, I can drop it.
> 
>>> +     $MKIMAGE -A arm -O linux -T kernel -C none -a 0x80008000 -e 0x80008000 -n "Linux kernel" -d $BINARIES_DIR/Image $BINARIES_DIR/uImage
>>> +fi
>>> diff --git a/board/freescale/imxrt1050evk/readme.txt b/board/freescale/imxrt1050evk/readme.txt
>>> new file mode 100644
>>> index 0000000000..bbbcd5307f
>>> --- /dev/null
>>> +++ b/board/freescale/imxrt1050evk/readme.txt
>>> @@ -0,0 +1,24 @@
>>> +NXP i.MXRT1050 EVK board
>>> +---------------------
>>
>> Add the few missing '-'
>>
>> Also, as requested by Giulio, a short intro about the board + a link
>> would be useful here.
>>
>>
>>> +# Kernel
>>> +BR2_LINUX_KERNEL=y
>>> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>>> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19-rc5"
>>
>> 5.19 is out now, so you can use a non-rc version :)
> 
> Sorry I forgot to change when submitting...
> 
>>> +BR2_LINUX_KERNEL_DEFCONFIG="imxrt"
>>> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
>>> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
>>> +BR2_LINUX_KERNEL_IMAGE_NAME="Image"
>>> +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_LABEL="root"
>>> +BR2_TARGET_ROOTFS_EXT2_SIZE="3M"
>>
>> Why limit to 3 MB ? Is there a strong reason?
> 
> Because that's the nearest ceil(MB) size of the ext4 filesystem.
> I like dd-ing the images fast.
> 
> Also, leave the label
>> undefined.
>>
>>> +# Bootloader
>>> +BR2_TARGET_UBOOT=y
>>
>> Please used a version of U-Boot explicitly defined in the defconfig.
> 
> Read below.
> 
>>
>>> +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_UBOOT_TOOLS=y
>>> +
>>> +# Misc
>>> +BR2_BINUTILS_VERSION_2_36_X=y
>>> +# thumb2 ADR bug introduced in 2.37 fix is not yet in u-boot
>>
>> Do you have some detail on this bug? Like a link to the bug report, or
>> something like this? Note that binutils 2.39 is soon going to arrive,
>> so we will get rid of binutils 2.36... which means we will very soon
>> have a problem with this defconfig.
>>
> 
> https://patchwork.ozlabs.org/project/uboot/patch/20220712110023.3163770-1-andre.przywara@arm.com/
> 
> The patch above removes the need for binutils 2.36 and a U-Boot
> version hasn't been released with that commit yet.

Then the best practice is to backport the patch above locally to
binutils package for every version. But when trying to compile using an
external toolchain(not generated by Buildroot like official ARM
toolchain) then it will fail to boot.

As Thomas mentioned binutils 2.36.1 will be removed soon in favor of
2.39 that will contain that patch, but 2.37 and 2.38 will create
problems, as well as all the external ones.

Do you think there is a possible work-around for u-boot to avoid the
binutils bug? If yes one possibility is to add a local patch for u-boot
for this defconfig only with the work-around. This will make the board
to work everytime. It's a patch that doesn't have to be upstreamed but
only a local work-around.

What about that Thomas?

Best regards
-- 
Giulio Benetti
CEO/CTO@Benetti Engineering sas

> This is the reason for no U-Boot version.
> 
> Thanks,
> Jesse T
> 
>> Best regards,
>>
>> 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

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig
  2022-08-01 22:05     ` Giulio Benetti
@ 2022-08-01 23:18       ` Giulio Benetti
  0 siblings, 0 replies; 6+ messages in thread
From: Giulio Benetti @ 2022-08-01 23:18 UTC (permalink / raw)
  To: Jesse T, Thomas Petazzoni
  Cc: Fabio Estevam, maeva.manuel, stephane.viau, buildroot

Hi Jesse, Thomas,

On 02/08/22 00:05, Giulio Benetti wrote:
> Hi Jesse,
> 
> On 01/08/22 23:46, Jesse T wrote:
>> On Mon, Aug 1, 2022 at 4:50 PM Thomas Petazzoni
>> <thomas.petazzoni@bootlin.com> wrote:
>>>
>>> Hello Jesse,
>>>
>>> Thanks for your contribution!
>>>
>>> On Sat, 30 Jul 2022 02:12:19 -0400
>>> Jesse Taube <mr.bossman075@gmail.com> wrote:
>>>
>>>> Add defconfig for imxrt1050-evk is a development board from NXP.
>>>>
>>>> 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>
>>>
>>> Thanks a lot, it looks mostly good, but I have a few comments/questions.
>>>
>>>>   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/
>>>
>>> Any reason to add Giulio here?
>>
>> We worked on Linux and U-Boot together.
>>
>>>
>>>> diff --git a/board/freescale/imxrt1050evk/post-build.sh 
>>>> b/board/freescale/imxrt1050evk/post-build.sh
>>>> new file mode 100755
>>>> index 0000000000..476958a691
>>>> --- /dev/null
>>>> +++ b/board/freescale/imxrt1050evk/post-build.sh
>>>> @@ -0,0 +1,6 @@
>>>> +#!/bin/sh
>>>> +MKIMAGE=$HOST_DIR/bin/mkimage
>>>> +
>>>> +if [ -e $BINARIES_DIR/Image ]; then
>>>
>>> Why is this test needed? The Image file will be produced by the kernel
>>> build, so it should be there. If it's not, we should really error out
>>> hard. So I think doing without the test is better.
>>
>> I was using board/nexbox/a95x/post-build.sh as a base, I can drop it.
>>
>>>> +     $MKIMAGE -A arm -O linux -T kernel -C none -a 0x80008000 -e 
>>>> 0x80008000 -n "Linux kernel" -d $BINARIES_DIR/Image 
>>>> $BINARIES_DIR/uImage
>>>> +fi
>>>> diff --git a/board/freescale/imxrt1050evk/readme.txt 
>>>> b/board/freescale/imxrt1050evk/readme.txt
>>>> new file mode 100644
>>>> index 0000000000..bbbcd5307f
>>>> --- /dev/null
>>>> +++ b/board/freescale/imxrt1050evk/readme.txt
>>>> @@ -0,0 +1,24 @@
>>>> +NXP i.MXRT1050 EVK board
>>>> +---------------------
>>>
>>> Add the few missing '-'
>>>
>>> Also, as requested by Giulio, a short intro about the board + a link
>>> would be useful here.
>>>
>>>
>>>> +# Kernel
>>>> +BR2_LINUX_KERNEL=y
>>>> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>>>> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19-rc5"
>>>
>>> 5.19 is out now, so you can use a non-rc version :)
>>
>> Sorry I forgot to change when submitting...
>>
>>>> +BR2_LINUX_KERNEL_DEFCONFIG="imxrt"
>>>> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
>>>> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
>>>> +BR2_LINUX_KERNEL_IMAGE_NAME="Image"
>>>> +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_LABEL="root"
>>>> +BR2_TARGET_ROOTFS_EXT2_SIZE="3M"
>>>
>>> Why limit to 3 MB ? Is there a strong reason?
>>
>> Because that's the nearest ceil(MB) size of the ext4 filesystem.
>> I like dd-ing the images fast.
>>
>> Also, leave the label
>>> undefined.
>>>
>>>> +# Bootloader
>>>> +BR2_TARGET_UBOOT=y
>>>
>>> Please used a version of U-Boot explicitly defined in the defconfig.
>>
>> Read below.
>>
>>>
>>>> +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_UBOOT_TOOLS=y
>>>> +
>>>> +# Misc
>>>> +BR2_BINUTILS_VERSION_2_36_X=y
>>>> +# thumb2 ADR bug introduced in 2.37 fix is not yet in u-boot
>>>
>>> Do you have some detail on this bug? Like a link to the bug report, or
>>> something like this? Note that binutils 2.39 is soon going to arrive,
>>> so we will get rid of binutils 2.36... which means we will very soon
>>> have a problem with this defconfig.
>>>
>>
>> https://patchwork.ozlabs.org/project/uboot/patch/20220712110023.3163770-1-andre.przywara@arm.com/
>>
>> The patch above removes the need for binutils 2.36 and a U-Boot
>> version hasn't been released with that commit yet.
> 
> Then the best practice is to backport the patch above locally to
> binutils package for every version. But when trying to compile using an
> external toolchain(not generated by Buildroot like official ARM
> toolchain) then it will fail to boot.
> 
> As Thomas mentioned binutils 2.36.1 will be removed soon in favor of
> 2.39 that will contain that patch, but 2.37 and 2.38 will create
> problems, as well as all the external ones.
> 
> Do you think there is a possible work-around for u-boot to avoid the
> binutils bug? If yes one possibility is to add a local patch for u-boot
> for this defconfig only with the work-around. This will make the board
> to work everytime. It's a patch that doesn't have to be upstreamed but
> only a local work-around.

Jesse privately pointed me that the patch is exactly the u-boot patch
we need here. So Jesse, please add it under 
board/frescale/imxrt1050evk/patches/uboot and point to that 
folder(without /uboot) like this in
defconfig:
BR2_GLOBAL_PATCH_DIR=board/frescale/imxrt1050evk/patches

This way when uboot is built the patch is applied to it.
And of course this is valid once you define a specific custom version
for u-boot as Thomas pointed you before.

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] 6+ messages in thread

* Re: [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig
  2022-08-01 21:46   ` Jesse T
  2022-08-01 22:05     ` Giulio Benetti
@ 2022-08-02  7:46     ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-02  7:46 UTC (permalink / raw)
  To: Jesse T
  Cc: Fabio Estevam, Giulio Benetti, maeva.manuel, stephane.viau, buildroot

Hello Jesse,

On Mon, 1 Aug 2022 17:46:48 -0400
Jesse T <mr.bossman075@gmail.com> wrote:

> > Any reason to add Giulio here?  
> 
> We worked on Linux and U-Boot together.

Then I think it is worth mentioning in the commit log, as it is
surprising to see two people added in the DEVELOPERS file, without any
explanation.

> > Why is this test needed? The Image file will be produced by the kernel
> > build, so it should be there. If it's not, we should really error out
> > hard. So I think doing without the test is better.  
> 
> I was using board/nexbox/a95x/post-build.sh as a base, I can drop it.

Yes, I think this test doesn't make sense, so you can drop it.

> > > +# Filesystem
> > > +BR2_TARGET_ROOTFS_EXT2=y
> > > +BR2_TARGET_ROOTFS_EXT2_4=y
> > > +BR2_TARGET_ROOTFS_EXT2_LABEL="root"
> > > +BR2_TARGET_ROOTFS_EXT2_SIZE="3M"  
> >
> > Why limit to 3 MB ? Is there a strong reason?  
> 
> Because that's the nearest ceil(MB) size of the ext4 filesystem.
> I like dd-ing the images fast.

You can use bmap-tools to speed up writing a SD card image that is
large but mostly empty.

> https://patchwork.ozlabs.org/project/uboot/patch/20220712110023.3163770-1-andre.przywara@arm.com/
> 
> The patch above removes the need for binutils 2.36 and a U-Boot
> version hasn't been released with that commit yet.
> This is the reason for no U-Boot version.

As explained by Giulio, you should use a well-defined version of
U-Boot, and backport the U-Boot patch.

Thanks a lot!

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] 6+ messages in thread

end of thread, other threads:[~2022-08-02  7:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-30  6:12 [Buildroot] [PATCH v2] configs/imxrt1050-evk: New defconfig Jesse Taube
2022-08-01 20:50 ` Thomas Petazzoni via buildroot
2022-08-01 21:46   ` Jesse T
2022-08-01 22:05     ` Giulio Benetti
2022-08-01 23:18       ` Giulio Benetti
2022-08-02  7:46     ` Thomas Petazzoni via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.