From: Gary Bisson <gary.bisson@boundarydevices.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] imx: nitrogen6x: Convert Sabrelite to distro boot support
Date: Mon, 9 Apr 2018 16:40:48 +0200 [thread overview]
Message-ID: <20180409144048.GA3451@t450s.lan> (raw)
In-Reply-To: <20180406100548.30074-1-guillaume.gardet@free.fr>
Hi Guillaume,
Thanks for your patch! Switching the upstream nitrogen6x configuration
to distro bootcmd has been in our todo list for some time since we also
use that in our own git repo.
On Fri, Apr 06, 2018 at 12:05:48PM +0200, Guillaume GARDET wrote:
> Boot tested with boot.scr script and EFI/Grub2 on mmc0 and mmc1 slots.
>
> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
> Cc: Troy Kisky <troy.kisky@boundarydevices.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@nxp.com>
> ---
> include/configs/nitrogen6x.h | 86 ++++++++++----------------------------------
> 1 file changed, 18 insertions(+), 68 deletions(-)
>
> diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h
> index c73cfb7f7e..2e2c499cb6 100644
> --- a/include/configs/nitrogen6x.h
> +++ b/include/configs/nitrogen6x.h
> @@ -102,82 +102,32 @@
> #define CONFIG_UMSDEVS CONFIG_DRIVE_SATA CONFIG_DRIVE_MMC
>
> #if defined(CONFIG_SABRELITE)
Please also switch nitrogen6x to it, not only sabrelite.
> +#define BOOT_TARGET_DEVICES(func) \
> + func(MMC, mmc, 0) \
> + func(MMC, mmc, 1) \
> + func(SATA, sata, 0) \
> + func(USB, usb, 0) \
> + func(PXE, pxe, na) \
That currently doesn't build because CMD_PXE isn't selected in the
sabrelite defconfig.
"include/config_distro_bootcmd.h:319:2: error: expected ‘}’ before
‘BOOT_TARGET_DEVICES_references_PXE_without_CONFIG_CMD_DHCP_or_PXE’"
Which brings a good point, all the above should depend on the storage
command being present, like done here [1].
> + func(DHCP, dhcp, na)
> +
> +#include <config_distro_bootcmd.h>
> +
> #define CONFIG_EXTRA_ENV_SETTINGS \
> - "script=boot.scr\0" \
> - "uimage=uImage\0" \
> "console=ttymxc1\0" \
> "fdt_high=0xffffffff\0" \
> "initrd_high=0xffffffff\0" \
> - "fdt_file=imx6q-sabrelite.dtb\0" \
> + "fdtfile=imx6q-sabrelite.dtb\0" \
I wish the default efi_fdtfile would work, Fabio is there any plan to
populate the ${soc} variable like it is done for i.MX7? [2]
Then a small patch in the nitrogen6x.c would set the proper board env
variable.
That way there would be no difference in this header between sabrelite
vs. nitrogen6x.
> "fdt_addr=0x18000000\0" \
Do we need to keep fdt_addr since we define fdt_addr_r below?
> - "boot_fdt=try\0" \
> + "fdt_addr_r=0x18000000\0" \
> + "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
> + "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
> + "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
> + "ramdisk_addr_r=0x13000000\0" \
> + "ramdiskaddr=0x13000000\0" \
> "ip_dyn=yes\0" \
> "usb_pgood_delay=2000\0" \
> - "mmcdevs=0 1\0" \
> - "mmcpart=1\0" \
> - "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
> - "mmcargs=setenv bootargs console=${console},${baudrate} " \
> - "root=${mmcroot}\0" \
> - "loadbootscript=" \
> - "load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
> - "bootscript=echo Running bootscript from mmc ...; " \
> - "source\0" \
> - "loaduimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
> - "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
> - "mmcboot=echo Booting from mmc ...; " \
> - "run mmcargs; " \
> - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
> - "if run loadfdt; then " \
> - "bootm ${loadaddr} - ${fdt_addr}; " \
> - "else " \
> - "if test ${boot_fdt} = try; then " \
> - "bootm; " \
> - "else " \
> - "echo WARN: Cannot load the DT; " \
> - "fi; " \
> - "fi; " \
> - "else " \
> - "bootm; " \
> - "fi;\0" \
> - "netargs=setenv bootargs console=${console},${baudrate} " \
> - "root=/dev/nfs " \
> - "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
> - "netboot=echo Booting from net ...; " \
> - "run netargs; " \
> - "if test ${ip_dyn} = yes; then " \
> - "setenv get_cmd dhcp; " \
> - "else " \
> - "setenv get_cmd tftp; " \
> - "fi; " \
> - "${get_cmd} ${uimage}; " \
> - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
> - "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
> - "bootm ${loadaddr} - ${fdt_addr}; " \
> - "else " \
> - "if test ${boot_fdt} = try; then " \
> - "bootm; " \
> - "else " \
> - "echo WARN: Cannot load the DT; " \
> - "fi; " \
> - "fi; " \
> - "else " \
> - "bootm; " \
> - "fi;\0"
> + BOOTENV
>
> -#define CONFIG_BOOTCOMMAND \
> - "for mmcdev in ${mmcdevs}; do " \
> - "mmc dev ${mmcdev}; " \
> - "if mmc rescan; then " \
> - "if run loadbootscript; then " \
> - "run bootscript; " \
> - "else " \
> - "if run loaduimage; then " \
> - "run mmcboot; " \
> - "fi; " \
> - "fi; " \
> - "fi; " \
> - "done; " \
> - "run netboot; "
> #else
> #define CONFIG_EXTRA_ENV_SETTINGS \
> "bootdevs=" CONFIG_DRIVE_TYPES "\0" \
> --
> 2.13.6
The rest looks good to me.
Regards,
Gary
[1] https://github.com/boundarydevices/u-boot-imx6/blob/boundary-v2017.07/include/configs/boundary.h#L209
[2] http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/mach-imx/mx7/soc.c;hb=HEAD#l188
next prev parent reply other threads:[~2018-04-09 14:40 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-06 10:05 [U-Boot] [PATCH] imx: nitrogen6x: Convert Sabrelite to distro boot support Guillaume GARDET
2018-04-09 6:39 ` [U-Boot] [PATCH V2] " Guillaume GARDET
2018-04-11 10:38 ` [U-Boot] [PATCH V3 0/3] Update sabrelite and nitrogen6x boards to use " Guillaume GARDET
2018-04-11 10:38 ` [U-Boot] [PATCH V3 1/3] imx6: Define 'soc' env var for imx6 SoC Guillaume GARDET
2018-04-11 14:23 ` Fabio Estevam
2018-04-11 14:41 ` Guillaume Gardet
2018-04-11 15:41 ` Fabio Estevam
2018-04-11 15:46 ` Gary Bisson
2018-04-11 15:52 ` Guillaume Gardet
2018-04-11 16:06 ` Fabio Estevam
2018-04-12 8:13 ` Guillaume Gardet
2018-04-12 11:14 ` Fabio Estevam
2018-04-12 12:36 ` Gary Bisson
2018-04-12 12:48 ` Guillaume Gardet
2018-04-12 12:58 ` Gary Bisson
2018-04-12 13:07 ` Guillaume Gardet
2018-04-11 10:38 ` [U-Boot] [PATCH V3 2/3] imx6: Convert sabrelite and nitrogen6x boards to distro boot support Guillaume GARDET
2018-04-11 10:38 ` [U-Boot] [PATCH V3 3/3] imx6: sabrelite: update defconfig to use distro defaults Guillaume GARDET
2018-04-12 13:28 ` [U-Boot] [PATCH V4 0/2] Update sabrelite and nitrogen6x boards to use distro boot support Guillaume GARDET
2018-04-12 13:28 ` [U-Boot] [PATCH V4 1/2] imx6: Convert sabrelite and nitrogen6x boards to " Guillaume GARDET
2018-04-16 7:45 ` Gary Bisson
2018-04-12 13:28 ` [U-Boot] [PATCH V4 2/2] imx6: sabrelite: update defconfig to use distro defaults Guillaume GARDET
2018-04-16 12:47 ` [U-Boot] [PATCH V5 0/2] Update sabrelite and nitrogen6x boards to use distro boot support Guillaume GARDET
2018-04-16 12:47 ` [U-Boot] [PATCH V5 1/2] imx6: Convert sabrelite and nitrogen6x boards to " Guillaume GARDET
2018-04-18 14:37 ` Gary Bisson
2018-04-16 12:47 ` [U-Boot] [PATCH V5 2/2] imx6: sabrelite: update defconfig to use distro defaults Guillaume GARDET
2018-04-18 14:44 ` Gary Bisson
2018-04-18 15:05 ` Guillaume Gardet
2018-04-18 15:04 ` [U-Boot] [PATCH V6 0/2] Update sabrelite and nitrogen6x boards to use distro boot support Guillaume GARDET
2018-04-18 15:04 ` [U-Boot] [PATCH V6 1/2] imx6: Convert sabrelite and nitrogen6x boards to " Guillaume GARDET
2018-05-17 7:17 ` Denis Pynkin
2018-04-18 15:04 ` [U-Boot] [PATCH V6 2/2] imx6: sabrelite: update defconfig to use distro defaults Guillaume GARDET
2018-05-16 7:20 ` [U-Boot] [PATCH V6 0/2] Update sabrelite and nitrogen6x boards to use distro boot support Guillaume Gardet
2018-05-17 9:51 ` Stefano Babic
2018-05-17 15:45 ` Troy Kisky
2018-05-17 15:46 ` Stefano Babic
2018-04-09 14:40 ` Gary Bisson [this message]
2018-04-09 15:17 ` [U-Boot] [PATCH] imx: nitrogen6x: Convert Sabrelite to " Guillaume Gardet
2018-04-10 11:50 ` Gary Bisson
2018-04-13 5:08 ` Joe Hershberger
2018-04-09 17:27 ` Fabio Estevam
2018-04-10 12:05 ` Gary Bisson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180409144048.GA3451@t450s.lan \
--to=gary.bisson@boundarydevices.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox