* [Buildroot] [PATCH v2 1/7] configs/freescale_imx8mqevk: add script arg to specify U-Boot dtb
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
@ 2018-07-19 10:31 ` Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 2/7] board/freescale/common/imx: make imx8-bootloader-prepare more generic Gary Bisson
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Gary Bisson @ 2018-07-19 10:31 UTC (permalink / raw)
To: buildroot
This change will allow to have a more generic imx8-bootloader-prepare.sh
script which doesn't hadcode any dtb name/location.
Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
configs/freescale_imx8mqevk_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/configs/freescale_imx8mqevk_defconfig b/configs/freescale_imx8mqevk_defconfig
index f48e4f78e4..a6e9b940b5 100644
--- a/configs/freescale_imx8mqevk_defconfig
+++ b/configs/freescale_imx8mqevk_defconfig
@@ -3,6 +3,7 @@ BR2_ARM_FPU_VFPV3=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8mq-evk.dtb"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx"
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 2/7] board/freescale/common/imx: make imx8-bootloader-prepare more generic
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 1/7] configs/freescale_imx8mqevk: add script arg to specify U-Boot dtb Gary Bisson
@ 2018-07-19 10:31 ` Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 3/7] board/boundarydevices/common/post-build.sh: fix U-Boot naming Gary Bisson
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Gary Bisson @ 2018-07-19 10:31 UTC (permalink / raw)
To: buildroot
Allow user to override the hardcoded dtb name by using
BR2_ROOTFS_POST_SCRIPT_ARGS.
Cc: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
Changes in v2:
- remove fallback to evk dtb
---
board/freescale/common/imx/imx8-bootloader-prepare.sh | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/board/freescale/common/imx/imx8-bootloader-prepare.sh b/board/freescale/common/imx/imx8-bootloader-prepare.sh
index 2648147ab0..cc12666ae6 100755
--- a/board/freescale/common/imx/imx8-bootloader-prepare.sh
+++ b/board/freescale/common/imx/imx8-bootloader-prepare.sh
@@ -2,9 +2,13 @@
main ()
{
- # Currently we support imx8mqevk.
+ UBOOT_DTB=$2
+ if [ ! -e "$UBOOT_DTB" ]; then
+ echo "ERROR: couldn't find dtb: $UBOOT_DTB"
+ exit 1
+ fi
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/lpddr4_pmu_train_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
- BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot.bin ${HOST_DIR}/bin/mkimage_fit_atf.sh ${BINARIES_DIR}/fsl-imx8mq-evk.dtb > ${BINARIES_DIR}/u-boot.its
+ BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot.bin ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
rm -f ${BINARIES_DIR}/u-boot.its
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 3/7] board/boundarydevices/common/post-build.sh: fix U-Boot naming
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 1/7] configs/freescale_imx8mqevk: add script arg to specify U-Boot dtb Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 2/7] board/freescale/common/imx: make imx8-bootloader-prepare more generic Gary Bisson
@ 2018-07-19 10:31 ` Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 4/7] board/boundarydevices: remove obsolete u-boot scripts Gary Bisson
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Gary Bisson @ 2018-07-19 10:31 UTC (permalink / raw)
To: buildroot
The upgrade.cmd script expects the binary to be named
u-boot.<uboot_defconfig>.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
board/boundarydevices/common/post-build.sh | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/board/boundarydevices/common/post-build.sh b/board/boundarydevices/common/post-build.sh
index b8abb26540..d97c8d7b6a 100755
--- a/board/boundarydevices/common/post-build.sh
+++ b/board/boundarydevices/common/post-build.sh
@@ -6,6 +6,7 @@
#
BOARD_DIR="$(dirname $0)"
+UBOOT_DEFCONFIG="$(grep BR2_TARGET_UBOOT_BOARD_DEFCONFIG ${BR2_CONFIG} | sed 's/.*\"\(.*\)\"/\1/')"
# bd u-boot looks for standard bootscript
install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/
@@ -14,9 +15,9 @@ $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
-n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript
# u-boot / update script for bd upgradeu command
-if [ -e $BINARIES_DIR/u-boot.imx ];
-then
- install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx
+if [ -e $BINARIES_DIR/u-boot.imx ]; then
+ install -D -m 0644 $BINARIES_DIR/u-boot.imx \
+ $TARGET_DIR/u-boot.$UBOOT_DEFCONFIG
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
-n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
# legacy 6x_upgrade script
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 4/7] board/boundarydevices: remove obsolete u-boot scripts
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
` (2 preceding siblings ...)
2018-07-19 10:31 ` [Buildroot] [PATCH v2 3/7] board/boundarydevices/common/post-build.sh: fix U-Boot naming Gary Bisson
@ 2018-07-19 10:31 ` Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 5/7] board/boundarydevices: add i.MX8MQ support to post-build.sh Gary Bisson
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Gary Bisson @ 2018-07-19 10:31 UTC (permalink / raw)
To: buildroot
6x_bootscript/6x_upgrade have been deprecated for more than a year.
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
Changes in v2:
- include post-build.sh modifications in the same patch
---
.../boundarydevices/common/6x_bootscript.txt | 131 ------------------
board/boundarydevices/common/6x_upgrade.txt | 69 ---------
board/boundarydevices/common/post-build.sh | 6 -
3 files changed, 206 deletions(-)
delete mode 100644 board/boundarydevices/common/6x_bootscript.txt
delete mode 100644 board/boundarydevices/common/6x_upgrade.txt
diff --git a/board/boundarydevices/common/6x_bootscript.txt b/board/boundarydevices/common/6x_bootscript.txt
deleted file mode 100644
index af5822a88b..0000000000
--- a/board/boundarydevices/common/6x_bootscript.txt
+++ /dev/null
@@ -1,131 +0,0 @@
-setenv bootargs ''
-
-if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
- a_script=0x80800000
- a_zImage=0x80800000
- a_fdt=0x83000000
- m4=''
- if itest.s "x1" == "x$m4enabled" ; then
- run m4boot;
- m4='-m4';
- fi
-else
- a_script=0x10800000
- a_zImage=0x10800000
- a_fdt=0x13000000
-fi
-
-setenv initrd_high 0xffffffff
-if itest.s "x" == "x${dtbname}" ; then
- if itest.s x6SOLO == "x${cpu}" ; then
- dtbname=imx6dl-${board}.dtb;
- elif itest.s x6DL == "x${cpu}" ; then
- dtbname=imx6dl-${board}.dtb;
- elif itest.s x6QP == "x${cpu}" ; then
- dtbname=imx6qp-${board}.dtb;
- elif itest.s x6SX == "x${cpu}" ; then
- dtbname=imx6sx-${board}${m4}.dtb;
- elif itest.s x7D == "x${cpu}" ; then
- dtbname=imx7d-${board}${m4}.dtb;
- else
- dtbname=imx6q-${board}.dtb;
- fi
-fi
-
-if load ${dtype} ${disk}:1 ${a_script} uEnv.txt ; then
- env import -t ${a_script} ${filesize}
-fi
-
-if itest.s x == x${bootdir} ; then
- bootdir=/boot/
-fi
-
-if itest.s x${bootpart} == x ; then
- bootpart=1
-fi
-
-if load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname} ; then
- fdt addr ${a_fdt}
- setenv fdt_high 0xffffffff
-else
- echo "!!!! Error loading ${bootdir}${dtbname}";
- exit;
-fi
-
-cmd_xxx_present=
-fdt resize
-if itest.s "x" != "x${cmd_custom}" ; then
- run cmd_custom
- cmd_xxx_present=1;
-fi
-
-if itest.s "x" != "x${cmd_hdmi}" ; then
- run cmd_hdmi
- cmd_xxx_present=1;
- if itest.s x == x${allow_noncea} ; then
- setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
- echo "only CEA modes allowed on HDMI port";
- else
- setenv bootargs ${bootargs} mxc_hdmi.only_cea=0;
- echo "non-CEA modes allowed on HDMI, audio may be affected";
- fi
-fi
-
-if itest.s "x" != "x${cmd_lcd}" ; then
- run cmd_lcd
- cmd_xxx_present=1;
-fi
-if itest.s "x" != "x${cmd_lvds}" ; then
- run cmd_lvds
- cmd_xxx_present=1;
-fi
-if itest.s "x" != "x${cmd_lvds2}" ; then
- run cmd_lvds2
- cmd_xxx_present=1;
-fi
-
-if itest.s "x" == "x${cmd_xxx_present}" ; then
- echo "!!!!!!!!!!!!!!!!"
- echo "warning: your u-boot may be outdated, please upgrade"
- echo "!!!!!!!!!!!!!!!!"
-fi
-
-setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc"
-
-if test "sata" = "${dtype}" ; then
- setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
-elif test "usb" = "${dtype}" ; then
- setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
-else
- setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}"
-fi
-
-if itest.s "x" != "x${disable_giga}" ; then
- setenv bootargs ${bootargs} fec.disable_giga=1
-fi
-
-if itest.s "x" != "x${wlmac}" ; then
- setenv bootargs ${bootargs} wlcore.mac=${wlmac}
- setenv bootargs ${bootargs} wlan.mac=${wlmac}
-fi
-
-if itest.s "x" != "x${gpumem}" ; then
- setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem}
-fi
-
-if itest.s "x" != "x${cma}" ; then
- setenv bootargs ${bootargs} cma=${cma}
-fi
-
-if itest.s "x" != "x${show_fdt}" ; then
- fdt print /
-fi
-
-if itest.s "x" != "x${show_env}" ; then
- printenv
-fi
-
-if load ${dtype} ${disk}:${bootpart} ${a_zImage} ${bootdir}/zImage ; then
- bootz ${a_zImage} - ${a_fdt}
-fi
-echo "Error loading kernel image"
diff --git a/board/boundarydevices/common/6x_upgrade.txt b/board/boundarydevices/common/6x_upgrade.txt
deleted file mode 100644
index e012ff97ac..0000000000
--- a/board/boundarydevices/common/6x_upgrade.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-if itest.s a$uboot_defconfig == a; then
- echo "Please set uboot_defconfig to the appropriate value"
- exit
-fi
-
-offset=0x400
-a_uImage1=0x12000000
-a_uImage2=0x12400000
-
-if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
- a_uImage1=0x82000000
- a_uImage2=0x82400000
-fi
-
-setenv stdout serial,vga
-echo "check U-Boot" ;
-
-if load ${dtype} ${disk}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
-else
- echo "No U-Boot image found on SD card" ;
- exit
-fi
-echo "read $filesize bytes from SD card" ;
-if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
- echo "probed SPI ROM" ;
-else
- echo "Error initializing EEPROM" ;
- exit
-fi ;
-if sf read ${a_uImage2} $offset $filesize ; then
-else
- echo "Error reading boot loader from EEPROM" ;
- exit
-fi
-if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
- echo "------- U-Boot versions match" ;
- exit
-fi
-echo "Need U-Boot upgrade" ;
-echo "Program in 5 seconds" ;
-for n in 5 4 3 2 1 ; do
- echo $n ;
- sleep 1 ;
-done
-echo "erasing" ;
-sf erase 0 0xC0000 ;
-
-# two steps to prevent bricking
-echo "programming" ;
-setexpr a1 ${a_uImage1} + 0x400
-setexpr o1 ${offset} + 0x400
-setexpr s1 ${filesize} - 0x400
-sf write ${a1} ${o1} ${s1} ;
-sf write ${a_uImage1} $offset 0x400 ;
-
-echo "verifying" ;
-if sf read ${a_uImage2} $offset $filesize ; then
-else
- echo "Error re-reading EEPROM" ;
- exit
-fi
-if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
-else
- echo "Read verification error" ;
- exit
-fi
-while echo "---- U-Boot upgraded. reset" ; do
- sleep 120
-done
diff --git a/board/boundarydevices/common/post-build.sh b/board/boundarydevices/common/post-build.sh
index d97c8d7b6a..e30efe8b88 100755
--- a/board/boundarydevices/common/post-build.sh
+++ b/board/boundarydevices/common/post-build.sh
@@ -10,9 +10,6 @@ UBOOT_DEFCONFIG="$(grep BR2_TARGET_UBOOT_BOARD_DEFCONFIG ${BR2_CONFIG} | sed 's/
# bd u-boot looks for standard bootscript
install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/
-# legacy 6x_bootscript script
-$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
--n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript
# u-boot / update script for bd upgradeu command
if [ -e $BINARIES_DIR/u-boot.imx ]; then
@@ -20,7 +17,4 @@ if [ -e $BINARIES_DIR/u-boot.imx ]; then
$TARGET_DIR/u-boot.$UBOOT_DEFCONFIG
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
-n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
- # legacy 6x_upgrade script
- $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
- -n "upgrade script" -d $BOARD_DIR/6x_upgrade.txt $TARGET_DIR/6x_upgrade
fi
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 5/7] board/boundarydevices: add i.MX8MQ support to post-build.sh
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
` (3 preceding siblings ...)
2018-07-19 10:31 ` [Buildroot] [PATCH v2 4/7] board/boundarydevices: remove obsolete u-boot scripts Gary Bisson
@ 2018-07-19 10:31 ` Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 6/7] board/boundarydevices: add i.MX8MQ support to u-boot scripts Gary Bisson
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Gary Bisson @ 2018-07-19 10:31 UTC (permalink / raw)
To: buildroot
- Use proper ARCH for mkimage command
- Use differente U-Boot binary name depending on ARCH
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
board/boundarydevices/common/post-build.sh | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/board/boundarydevices/common/post-build.sh b/board/boundarydevices/common/post-build.sh
index e30efe8b88..161ec0643f 100755
--- a/board/boundarydevices/common/post-build.sh
+++ b/board/boundarydevices/common/post-build.sh
@@ -8,13 +8,22 @@
BOARD_DIR="$(dirname $0)"
UBOOT_DEFCONFIG="$(grep BR2_TARGET_UBOOT_BOARD_DEFCONFIG ${BR2_CONFIG} | sed 's/.*\"\(.*\)\"/\1/')"
+if grep -Eq "^BR2_aarch64=y$" ${BR2_CONFIG}; then
+ MKIMAGE_ARCH=arm64
+ UBOOT_BINARY=imx8-boot-sd.bin
+else
+ MKIMAGE_ARCH=arm
+ UBOOT_BINARY=u-boot.imx
+fi
+
# bd u-boot looks for standard bootscript
-install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/
+$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \
+ -n "boot script" -d $BOARD_DIR/boot.cmd $TARGET_DIR/boot/boot.scr
# u-boot / update script for bd upgradeu command
-if [ -e $BINARIES_DIR/u-boot.imx ]; then
- install -D -m 0644 $BINARIES_DIR/u-boot.imx \
+if [ -e $BINARIES_DIR/$UBOOT_BINARY ]; then
+ install -D -m 0644 $BINARIES_DIR/$UBOOT_BINARY \
$TARGET_DIR/u-boot.$UBOOT_DEFCONFIG
- $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
- -n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
+ $HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \
+ -n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
fi
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 6/7] board/boundarydevices: add i.MX8MQ support to u-boot scripts
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
` (4 preceding siblings ...)
2018-07-19 10:31 ` [Buildroot] [PATCH v2 5/7] board/boundarydevices: add i.MX8MQ support to post-build.sh Gary Bisson
@ 2018-07-19 10:31 ` Gary Bisson
2018-07-19 10:31 ` [Buildroot] [PATCH v2 7/7] configs/nitrogen8m: Add new defconfig Gary Bisson
2018-07-19 14:58 ` [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Thomas Petazzoni
7 siblings, 0 replies; 9+ messages in thread
From: Gary Bisson @ 2018-07-19 10:31 UTC (permalink / raw)
To: buildroot
- Update RAM address
- Update kernel image name for ARM64
- Update U-Boot boot command for ARM64
- Remove obsolete cmd_xxx_present check
- Remove obsolete wlan.mac parameter
- Add cmd_mipi command for MIPI-DSI interface
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
board/boundarydevices/common/boot.cmd | 40 +++++++-------
board/boundarydevices/common/upgrade.cmd | 69 +++++++++++++++++++++---
2 files changed, 81 insertions(+), 28 deletions(-)
diff --git a/board/boundarydevices/common/boot.cmd b/board/boundarydevices/common/boot.cmd
index 7602b0139e..760363da9b 100644
--- a/board/boundarydevices/common/boot.cmd
+++ b/board/boundarydevices/common/boot.cmd
@@ -2,6 +2,8 @@ setenv bootargs ''
setenv initrd_high 0xffffffff
m4=''
+kernelimage=zImage
+bootcommand=bootz
a_base=0x10000000
if itest.s x51 == "x${imx_cpu}" ; then
a_base=0x90000000
@@ -9,10 +11,14 @@ elif itest.s x53 == "x${imx_cpu}"; then
a_base=0x70000000
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
a_base=0x80000000
- if itest.s "x1" == "x$m4enabled" ; then
- run m4boot;
- m4='-m4';
- fi
+elif itest.s x8MQ == "x${imx_cpu}"; then
+ a_base=0x40000000
+ kernelimage=Image
+ bootcommand=booti
+fi
+if itest.s "x1" == "x${m4enabled}" ; then
+ run m4boot;
+ m4='-m4';
fi
setexpr a_script ${a_base} + 0x00800000
@@ -39,10 +45,12 @@ if itest.s "x" == "x${fdt_file}" ; then
fdt_file=imx6sx-${board}${m4}.dtb;
elif itest.s x7D == "x${imx_cpu}" ; then
fdt_file=imx7d-${board}${m4}.dtb;
+ elif itest.s x8MQ == "x${imx_cpu}" ; then
+ fdt_file=imx8mq-${board}${m4}.dtb;
elif itest.s x51 == "x${imx_cpu}" ; then
- fdt_file=imx51-${board}${m4}.dtb;
+ fdt_file=imx51-${board}.dtb;
elif itest.s x53 == "x${imx_cpu}" ; then
- fdt_file=imx53-${board}${m4}.dtb;
+ fdt_file=imx53-${board}.dtb;
else
fdt_file=imx6q-${board}.dtb;
fi
@@ -66,16 +74,12 @@ else
exit;
fi
-cmd_xxx_present=
fdt resize
if itest.s "x" != "x${cmd_custom}" ; then
run cmd_custom
- cmd_xxx_present=1;
fi
-
if itest.s "x" != "x${cmd_hdmi}" ; then
run cmd_hdmi
- cmd_xxx_present=1;
if itest.s x == x${allow_noncea} ; then
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
echo "only CEA modes allowed on HDMI port";
@@ -87,25 +91,18 @@ fi
if itest.s "x" != "x${cmd_lcd}" ; then
run cmd_lcd
- cmd_xxx_present=1;
fi
if itest.s "x" != "x${cmd_lcd2}" ; then
run cmd_lcd2
- cmd_xxx_present=1;
fi
if itest.s "x" != "x${cmd_lvds}" ; then
run cmd_lvds
- cmd_xxx_present=1;
fi
if itest.s "x" != "x${cmd_lvds2}" ; then
run cmd_lvds2
- cmd_xxx_present=1;
fi
-
-if itest.s "x" == "x${cmd_xxx_present}" ; then
- echo "!!!!!!!!!!!!!!!!"
- echo "warning: your u-boot may be outdated, please upgrade"
- echo "!!!!!!!!!!!!!!!!"
+if itest.s "x" != "x${cmd_mipi}" ; then
+ run cmd_mipi
fi
if test "sata" = "${devtype}" ; then
@@ -126,7 +123,6 @@ fi
if itest.s "x" != "x${wlmac}" ; then
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
- setenv bootargs ${bootargs} wlan.mac=${wlmac}
fi
if itest.s "x" != "x${gpumem}" ; then
@@ -149,7 +145,7 @@ if itest.s "x" != "x${show_env}" ; then
printenv
fi
-if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}zImage ; then
- bootz ${a_zImage} - ${a_fdt}
+if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}${kernelimage} ; then
+ ${bootcommand} ${a_zImage} - ${a_fdt}
fi
echo "Error loading kernel image"
diff --git a/board/boundarydevices/common/upgrade.cmd b/board/boundarydevices/common/upgrade.cmd
index 249185dba4..24b705eb76 100644
--- a/board/boundarydevices/common/upgrade.cmd
+++ b/board/boundarydevices/common/upgrade.cmd
@@ -7,6 +7,7 @@ offset=0x400
erase_size=0xC0000
qspi_offset=0x0
a_base=0x12000000
+block_size=0x200
if itest.s x51 == "x${imx_cpu}"; then
a_base=0x92000000
@@ -14,6 +15,9 @@ elif itest.s x53 == "x${imx_cpu}"; then
a_base=0x72000000
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
a_base=0x82000000
+elif itest.s x8MQ == "x${imx_cpu}"; then
+ a_base=0x42000000
+ offset=0x8400
fi
qspi_match=1
@@ -25,6 +29,54 @@ setexpr a_script ${a_base}
setenv stdout serial,vga
+if itest.s "x${sfname}" == "x" ; then
+# U-Boot resides in (e)MMC
+if itest.s "x${env_dev}" == "x" || itest.s "x${env_part}" == "x"; then
+ echo "Please set env_dev/part to the appropriate values"
+ exit
+fi
+
+# Load bootloader binary for this board
+if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then
+else
+ echo "File u-boot.$uboot_defconfig not found on SD card" ;
+ exit
+fi
+
+# Compute block count for filesize and offset
+setexpr cntoffset ${offset} / ${block_size}
+setexpr cntfile ${filesize} / ${block_size}
+# Add 1 in case the $filesize is not a multiple of $block_size
+setexpr cntfile ${cntfile} + 1
+
+# Select media partition (if different from main partition)
+mmc dev ${env_dev} ${env_part}
+
+# Read and compare current U-Boot
+mmc read ${a_uImage2} ${cntoffset} ${cntfile}
+if cmp.b ${a_uImage1} ${a_uImage2} ${filesize} ; then
+ echo "------- U-Boot versions match" ;
+ exit ;
+fi
+
+echo "Need U-Boot upgrade" ;
+echo "Program in 5 seconds" ;
+for n in 5 4 3 2 1 ; do
+ echo $n ;
+ sleep 1 ;
+done
+mmc write ${a_uImage1} ${cntoffset} ${cntfile}
+
+# Make sure to boot from the proper partition
+if itest ${env_part} != 0 ; then
+ mmc partconf ${env_dev} 1 ${env_part} 0
+fi
+
+# Switch back to main eMMC partition (to avoid confusion)
+mmc dev ${env_dev}
+
+else
+# U-Boot resides in NOR flash
if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
echo "probed SPI ROM" ;
else
@@ -32,9 +84,13 @@ else
exit
fi
+if itest.s "x${sfname}" == "xat45db041d" ; then
+ erase_size=0x7e000
+fi
+
if itest.s x7D == "x${imx_cpu}"; then
echo "check qspi parameter block" ;
- if ${fs}load ${devtype} ${devnum}:1 ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then
+ if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then
else
echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card"
exit
@@ -63,7 +119,7 @@ fi
echo "check U-Boot" ;
-if ${fs}load ${devtype} ${devnum}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
+if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then
else
echo "File u-boot.$uboot_defconfig not found on SD card" ;
exit
@@ -80,7 +136,7 @@ if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
if itest.s "${qspi_match}" == "1" ; then
echo "------- upgrade not needed" ;
if itest.s "x" != "x${next}" ; then
- if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then
+ if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
source ${a_script}
else
echo "${next} not found on SD card"
@@ -142,13 +198,14 @@ if itest.s x7D == "x${imx_cpu}"; then
fi
if itest.s "x" != "x${next}" ; then
- if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then
+ if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
source ${a_script}
else
- echo "${next} not found on ${devtype} ${devnum}"
+ echo "${next} not found on ${devtype} ${devnum}:${distro_bootpart}"
fi
fi
+fi
-while echo "---- U-Boot upgraded. reset" ; do
+while echo "---- U-Boot upgraded. Please reset the board" ; do
sleep 120
done
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 7/7] configs/nitrogen8m: Add new defconfig
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
` (5 preceding siblings ...)
2018-07-19 10:31 ` [Buildroot] [PATCH v2 6/7] board/boundarydevices: add i.MX8MQ support to u-boot scripts Gary Bisson
@ 2018-07-19 10:31 ` Gary Bisson
2018-07-19 14:58 ` [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Thomas Petazzoni
7 siblings, 0 replies; 9+ messages in thread
From: Gary Bisson @ 2018-07-19 10:31 UTC (permalink / raw)
To: buildroot
NXP i.MX8MQ based SBC with 2GB of LPDDR4 and 8GB eMMC.
More details on the platform here:
https://boundarydevices.com/product/nitrogen8m
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
Changes in v2:
- Add missing .gitlab-ci.yml reference to Nitrogen8M
---
.gitlab-ci.yml | 1 +
configs/nitrogen8m_defconfig | 54 ++++++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+)
create mode 100644 configs/nitrogen8m_defconfig
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6385fffc70..ab22a1921c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -166,6 +166,7 @@ nexbox_a95x_defconfig: *defconfig
nitrogen6sx_defconfig: *defconfig
nitrogen6x_defconfig: *defconfig
nitrogen7_defconfig: *defconfig
+nitrogen8m_defconfig: *defconfig
odroidc2_defconfig: *defconfig
olimex_a10_olinuxino_lime_defconfig: *defconfig
olimex_a13_olinuxino_defconfig: *defconfig
diff --git a/configs/nitrogen8m_defconfig b/configs/nitrogen8m_defconfig
new file mode 100644
index 0000000000..9b758f0b97
--- /dev/null
+++ b/configs/nitrogen8m_defconfig
@@ -0,0 +1,54 @@
+# Architecture
+BR2_aarch64=y
+BR2_cortex_a53=y
+
+# System
+BR2_TARGET_GENERIC_GETTY=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/boundarydevices/common/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-nitrogen8m.dtb"
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_IMX_MKIMAGE=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS=y
+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
+
+# Filesystem
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+
+# Linux headers same as kernel, a 4.9 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
+
+# DDR training binaries
+BR2_PACKAGE_FREESCALE_IMX=y
+BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y
+BR2_PACKAGE_FIRMWARE_IMX=y
+
+# ARM Trusted Firmware
+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y
+# Latest revision of branch boundary-imx_4.9.51_imx8m_ga
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/67c68675.tar.gz"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq"
+BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y
+
+# Bootloader
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8m"
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
+# Latest revision of branch boundary-imx_v2017.03_4.9.51_imx8m_ga
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/b661d854.tar.gz"
+BR2_TARGET_UBOOT_NEEDS_DTC=y
+BR2_TARGET_UBOOT_SPL=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+# Latest revision of branch boundary-imx_4.9.x_2.0.0_ga
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/7777e14d.tar.gz"
+BR2_LINUX_KERNEL_DEFCONFIG="boundary"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-nitrogen8m freescale/imx8mq-nitrogen8m-m4"
--
2.18.0
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support
2018-07-19 10:31 [Buildroot] [PATCH v2 0/7] Add Boundary Devices Nitrogen8M support Gary Bisson
` (6 preceding siblings ...)
2018-07-19 10:31 ` [Buildroot] [PATCH v2 7/7] configs/nitrogen8m: Add new defconfig Gary Bisson
@ 2018-07-19 14:58 ` Thomas Petazzoni
7 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2018-07-19 14:58 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 19 Jul 2018 12:31:02 +0200, Gary Bisson wrote:
> Gary Bisson (7):
> configs/freescale_imx8mqevk: add script arg to specify U-Boot dtb
> board/freescale/common/imx: make imx8-bootloader-prepare more generic
These two patches are really the same logical change, so I squashed
them.
> board/boundarydevices/common/post-build.sh: fix U-Boot naming
> board/boundarydevices: remove obsolete u-boot scripts
> board/boundarydevices: add i.MX8MQ support to post-build.sh
> board/boundarydevices: add i.MX8MQ support to u-boot scripts
> configs/nitrogen8m: Add new defconfig
Entire series applied. Thanks for the quick respin taking into account
my comments!
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread