
On Tue, Jun 14, 2022 at 09:14:03AM -0700, Tim Harvey wrote:
On Mon, Jun 13, 2022 at 7:57 PM Tom Rini trini@konsulko.com wrote:
Move the environment text over from being set via CONFIG_EXTRA_ENV_SETTINGS in include/configs/gw_ventana.h and over to plain text in board/gateworks/gw_ventana/gw_ventana.env. This lets us drop CONFIG_EXTRA_ENV_SETTINGS_COMMON as everything resides in a single environment file now.
Cc: Tim Harvey tharvey@gateworks.com Signed-off-by: Tom Rini trini@konsulko.com
board/gateworks/gw_ventana/gw_ventana.env | 145 +++++++++++++++++++++ include/configs/gw_ventana.h | 148 ---------------------- 2 files changed, 145 insertions(+), 148 deletions(-) create mode 100644 board/gateworks/gw_ventana/gw_ventana.env
diff --git a/board/gateworks/gw_ventana/gw_ventana.env b/board/gateworks/gw_ventana/gw_ventana.env new file mode 100644 index 000000000000..9a316c74f215 --- /dev/null +++ b/board/gateworks/gw_ventana/gw_ventana.env @@ -0,0 +1,145 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/*
- Copyright (C) 2013 Gateworks Corporation
- */
+splashpos=m,m +splashimage=CONFIG_SYS_LOAD_ADDR +usb_pgood_delay=2000 +console=ttymxc1 +bootdevs=usb mmc sata flash +hwconfig=_UNKNOWN_
+disk=0 +part=1
+fdt_high=0xffffffff +fdt_addr=0x18000000 +initrd_high=0xffffffff +fixfdt=fdt addr ${fdt_addr} +bootdir=boot +loadfdt=
if ${fsload} ${fdt_addr} ${bootdir}/${fdt_file}; then
echo Loaded DTB from ${bootdir}/${fdt_file};
run fixfdt;
elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file1}; then
echo Loaded DTB from ${bootdir}/${fdt_file1};
run fixfdt;
elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file2}; then
echo Loaded DTB from ${bootdir}/${fdt_file2};
run fixfdt;
fi
+fs=ext4 +script=6x_bootscript-ventana +loadscript=
if ${fsload} ${loadaddr} ${bootdir}/${script}; then
source ${loadaddr};
fi
+uimage=uImage +mmc_root=mmcblk0p1 +mmc_boot=
setenv fsload "${fs}load mmc ${disk}:${part}";
mmc dev ${disk} && mmc rescan &&
setenv dtype mmc; run loadscript;
if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
setenv bootargs console=${console},${baudrate}
root=/dev/${mmc_root} rootfstype=${fs}
rootwait rw ${video} ${extra};
if run loadfdt; then
bootm ${loadaddr} - ${fdt_addr};
else
bootm;
fi;
fi
+sata_boot=
setenv fsload "${fs}load sata ${disk}:${part}";
sata init &&
setenv dtype sata; run loadscript;
if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
setenv bootargs console=${console},${baudrate}
root=/dev/sda1 rootfstype=${fs}
rootwait rw ${video} ${extra};
if run loadfdt; then
bootm ${loadaddr} - ${fdt_addr};
else
bootm;
fi;
fi
+usb_boot=
setenv fsload "${fs}load usb ${disk}:${part}";
usb start && usb dev ${disk} &&
setenv dtype usb; run loadscript;
if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
setenv bootargs console=${console},${baudrate}
root=/dev/sda1 rootfstype=${fs}
rootwait rw ${video} ${extra};
if run loadfdt; then
bootm ${loadaddr} - ${fdt_addr};
else
bootm;
fi;
fi
+#ifdef CONFIG_SPI_FLASH +image_os=ventana/openwrt-imx6-imx6q-gw5400-a-squashfs.bin +image_uboot=ventana/u-boot_spi.imx
+spi_koffset=0x90000 +spi_klen=0x200000
+spi_updateuboot=echo Updating uboot from
${serverip}:${image_uboot}...;
tftpboot ${loadaddr} ${image_uboot} &&
sf probe && sf erase 0 80000 &&
sf write ${loadaddr} 400 ${filesize}
+spi_update=echo Updating OS from ${serverip}:${image_os}
to ${spi_koffset} ...;
tftp ${loadaddr} ${image_os} &&
sf probe &&
sf update ${loadaddr} ${spi_koffset} ${filesize}
+flash_boot=
if sf probe &&
sf read ${loadaddr} ${spi_koffset} ${spi_klen}; then
setenv bootargs console=${console},${baudrate}
root=/dev/mtdblock3
rootfstype=squashfs,jffs2
${video} ${extra};
bootm;
fi
+#else +image_rootfs=openwrt-imx6-ventana-rootfs.ubi +nand_update=echo Updating NAND from ${serverip}:${image_rootfs}...;
tftp ${loadaddr} ${image_rootfs} &&
nand erase.part rootfs &&
nand write ${loadaddr} rootfs ${filesize}
+flash_boot=
setenv fsload 'ubifsload';
ubi part rootfs;
if ubi check boot; then
ubifsmount ubi0:boot;
setenv root ubi0:rootfs ubi.mtd=2
rootfstype=squashfs,ubifs;
setenv bootdir;
elif ubi check rootfs; then
ubifsmount ubi0:rootfs;
setenv root ubi0:rootfs ubi.mtd=2
rootfstype=ubifs;
fi;
setenv dtype nand; run loadscript;
if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
setenv bootargs console=${console},${baudrate}
root=${root} ${video} ${extra};
if run loadfdt; then
ubifsumount;
bootm ${loadaddr} - ${fdt_addr};
else
ubifsumount; bootm;
fi;
fi
+#endif diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 77f41502220a..47a72fc8fce5 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -76,152 +76,4 @@ #define CONFIG_IPADDR 192.168.1.1 #define CONFIG_SERVERIP 192.168.1.146
-#define CONFIG_EXTRA_ENV_SETTINGS_COMMON \
"splashpos=m,m\0" \
"splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"usb_pgood_delay=2000\0" \
"console=ttymxc1\0" \
"bootdevs=usb mmc sata flash\0" \
"hwconfig=_UNKNOWN_\0" \
"video=\0" \
\
"disk=0\0" \
"part=1\0" \
\
"fdt_high=0xffffffff\0" \
"fdt_addr=0x18000000\0" \
"initrd_high=0xffffffff\0" \
"fixfdt=" \
"fdt addr ${fdt_addr}\0" \
"bootdir=boot\0" \
"loadfdt=" \
"if ${fsload} ${fdt_addr} ${bootdir}/${fdt_file}; then " \
"echo Loaded DTB from ${bootdir}/${fdt_file}; " \
"run fixfdt; " \
"elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file1}; then " \
"echo Loaded DTB from ${bootdir}/${fdt_file1}; " \
"run fixfdt; " \
"elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file2}; then " \
"echo Loaded DTB from ${bootdir}/${fdt_file2}; " \
"run fixfdt; " \
"fi\0" \
\
"fs=ext4\0" \
"script=6x_bootscript-ventana\0" \
"loadscript=" \
"if ${fsload} ${loadaddr} ${bootdir}/${script}; then " \
"source ${loadaddr}; " \
"fi\0" \
\
"uimage=uImage\0" \
"mmc_root=mmcblk0p1\0" \
"mmc_boot=" \
"setenv fsload \"${fs}load mmc ${disk}:${part}\"; " \
"mmc dev ${disk} && mmc rescan && " \
"setenv dtype mmc; run loadscript; " \
"if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
"setenv bootargs console=${console},${baudrate} " \
"root=/dev/${mmc_root} rootfstype=${fs} " \
"rootwait rw ${video} ${extra}; " \
"if run loadfdt; then " \
"bootm ${loadaddr} - ${fdt_addr}; " \
"else " \
"bootm; " \
"fi; " \
"fi\0" \
\
"sata_boot=" \
"setenv fsload \"${fs}load sata ${disk}:${part}\"; " \
"sata init && " \
"setenv dtype sata; run loadscript; " \
"if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
"setenv bootargs console=${console},${baudrate} " \
"root=/dev/sda1 rootfstype=${fs} " \
"rootwait rw ${video} ${extra}; " \
"if run loadfdt; then " \
"bootm ${loadaddr} - ${fdt_addr}; " \
"else " \
"bootm; " \
"fi; " \
"fi\0" \
"usb_boot=" \
"setenv fsload \"${fs}load usb ${disk}:${part}\"; " \
"usb start && usb dev ${disk} && " \
"setenv dtype usb; run loadscript; " \
"if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
"setenv bootargs console=${console},${baudrate} " \
"root=/dev/sda1 rootfstype=${fs} " \
"rootwait rw ${video} ${extra}; " \
"if run loadfdt; then " \
"bootm ${loadaddr} - ${fdt_addr}; " \
"else " \
"bootm; " \
"fi; " \
"fi\0"
-#ifdef CONFIG_SPI_FLASH
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_EXTRA_ENV_SETTINGS_COMMON \
"image_os=ventana/openwrt-imx6-imx6q-gw5400-a-squashfs.bin\0" \
"image_uboot=ventana/u-boot_spi.imx\0" \
\
"spi_koffset=0x90000\0" \
"spi_klen=0x200000\0" \
\
"spi_updateuboot=echo Updating uboot from " \
"${serverip}:${image_uboot}...; " \
"tftpboot ${loadaddr} ${image_uboot} && " \
"sf probe && sf erase 0 80000 && " \
"sf write ${loadaddr} 400 ${filesize}\0" \
"spi_update=echo Updating OS from ${serverip}:${image_os} " \
"to ${spi_koffset} ...; " \
"tftp ${loadaddr} ${image_os} && " \
"sf probe && " \
"sf update ${loadaddr} ${spi_koffset} ${filesize}\0" \
\
"flash_boot=" \
"if sf probe && " \
"sf read ${loadaddr} ${spi_koffset} ${spi_klen}; then " \
"setenv bootargs console=${console},${baudrate} " \
"root=/dev/mtdblock3 " \
"rootfstype=squashfs,jffs2 " \
"${video} ${extra}; " \
"bootm; " \
"fi\0"
-#else
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_EXTRA_ENV_SETTINGS_COMMON \
\
"image_rootfs=openwrt-imx6-ventana-rootfs.ubi\0" \
"nand_update=echo Updating NAND from ${serverip}:${image_rootfs}...; " \
"tftp ${loadaddr} ${image_rootfs} && " \
"nand erase.part rootfs && " \
"nand write ${loadaddr} rootfs ${filesize}\0" \
\
"flash_boot=" \
"setenv fsload 'ubifsload'; " \
"ubi part rootfs; " \
"if ubi check boot; then " \
"ubifsmount ubi0:boot; " \
"setenv root ubi0:rootfs ubi.mtd=2 " \
"rootfstype=squashfs,ubifs; " \
"setenv bootdir; " \
"elif ubi check rootfs; then " \
"ubifsmount ubi0:rootfs; " \
"setenv root ubi0:rootfs ubi.mtd=2 " \
"rootfstype=ubifs; " \
"fi; " \
"setenv dtype nand; run loadscript; " \
"if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
"setenv bootargs console=${console},${baudrate} " \
"root=${root} ${video} ${extra}; " \
"if run loadfdt; then " \
"ubifsumount; " \
"bootm ${loadaddr} - ${fdt_addr}; " \
"else " \
"ubifsumount; bootm; " \
"fi; " \
"fi\0"
-#endif
#endif /* __CONFIG_H */
2.25.1
Tom,
Thanks, I've been looking forward to seeing how env is going to get migrated out of headers. Can you explain the process used to create this patch? It seems you may have something automated.
Acked-by: Tim Harvey tharvey@gateworks.com
So, I do not have anything automated, unfortunately. In cases like this where we don't use distro_bootcmd and also don't use defined blocks of commands, it's a matter of applying a few regexs to remove quotes, spaces and trailing , then giving it a quick read to make sure it's still right. This last part is some of why it can't be automated as we have cases of: "some_bootargs=a=1 b=2" \ "c=3\0" and since there's no indent on c=3, it would become "c=3" in the environment rather than "some_bootargs" being set to "a=1 b=2 c=3".