diff mbox series

[1/3] include: environment: ti: Use .env for environment variables

Message ID 20230314103752.312028-1-n-francis@ti.com
State Superseded
Delegated to: Tom Rini
Headers show
Series [1/3] include: environment: ti: Use .env for environment variables | expand

Commit Message

Neha Malcom Francis March 14, 2023, 10:37 a.m. UTC
Add K3 common environment variables to .env. We retain the old-style C
environment .h files to maintain compatibility with other K3 boards that
have not moved to using .env yet.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
---
 include/environment/ti/dfu.env             | 54 +++++++++++++++++++
 include/environment/ti/k3_dfu.env          | 30 +++++++++++
 include/environment/ti/k3_rproc.env        | 28 ++++++++++
 include/environment/ti/mmc.env             | 61 ++++++++++++++++++++++
 include/environment/ti/nand.env            | 14 +++++
 include/environment/ti/ti_armv7_common.env | 26 +++++++++
 include/environment/ti/ufs.env             | 22 ++++++++
 7 files changed, 235 insertions(+)
 create mode 100644 include/environment/ti/dfu.env
 create mode 100644 include/environment/ti/k3_dfu.env
 create mode 100644 include/environment/ti/k3_rproc.env
 create mode 100644 include/environment/ti/mmc.env
 create mode 100644 include/environment/ti/nand.env
 create mode 100644 include/environment/ti/ti_armv7_common.env
 create mode 100644 include/environment/ti/ufs.env

Comments

Tom Rini March 14, 2023, 4:47 p.m. UTC | #1
On Tue, Mar 14, 2023 at 04:07:50PM +0530, Neha Malcom Francis wrote:

> Add K3 common environment variables to .env. We retain the old-style C
> environment .h files to maintain compatibility with other K3 boards that
> have not moved to using .env yet.
> 
> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>

Thanks for starting this off, a few comments:

> +#if CONFIG_MTD_RAW_NAND
> +dfu_alt_info_nand=
> +	SPL part 0 1;
> +	SPL.backup1 part 0 2;
> +	SPL.backup2 part 0 3;
> +	SPL.backup3 part 0 4;
> +	u-boot part 0 5;
> +	u-boot-spl-os part 0 6;
> +	kernel part 0 8;
> +	rootfs part 0 9
> +#endif

We don't guard any of the other dfu_alt_innfo_xxx options, so I don't
think we need to here either.  If it's a concern about having the
variables when we don't have the support, perhaps a slightly different
structure of the files makes sense? All of the NAND variables in a
nand.env, emmc in emmc.env, etc.

> diff --git a/include/environment/ti/k3_rproc.env b/include/environment/ti/k3_rproc.env
> new file mode 100644
> index 0000000000..ed19ff4a52
> --- /dev/null
> +++ b/include/environment/ti/k3_rproc.env
> @@ -0,0 +1,28 @@
> +#if CONFIG_CMD_REMOTEPROC

We should guard including this file or not based on REMOTEPROC, not the
contents.

> +#define CFG_SYS_SDRAM_BASE		0x80000000

I don't see this used anywhere else, please drop it.  Everything else
seems fine, thanks!
Neha Malcom Francis March 15, 2023, 4:05 a.m. UTC | #2
Hi Tom,

On 14/03/23 22:17, Tom Rini wrote:
> On Tue, Mar 14, 2023 at 04:07:50PM +0530, Neha Malcom Francis wrote:
> 
>> Add K3 common environment variables to .env. We retain the old-style C
>> environment .h files to maintain compatibility with other K3 boards that
>> have not moved to using .env yet.
>>
>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
> 
> Thanks for starting this off, a few comments:
> 
>> +#if CONFIG_MTD_RAW_NAND
>> +dfu_alt_info_nand=
>> +	SPL part 0 1;
>> +	SPL.backup1 part 0 2;
>> +	SPL.backup2 part 0 3;
>> +	SPL.backup3 part 0 4;
>> +	u-boot part 0 5;
>> +	u-boot-spl-os part 0 6;
>> +	kernel part 0 8;
>> +	rootfs part 0 9
>> +#endif
> 
> We don't guard any of the other dfu_alt_innfo_xxx options, so I don't
> think we need to here either.  If it's a concern about having the
> variables when we don't have the support, perhaps a slightly different
> structure of the files makes sense? All of the NAND variables in a
> nand.env, emmc in emmc.env, etc.
> 
>> diff --git a/include/environment/ti/k3_rproc.env b/include/environment/ti/k3_rproc.env
>> new file mode 100644
>> index 0000000000..ed19ff4a52
>> --- /dev/null
>> +++ b/include/environment/ti/k3_rproc.env
>> @@ -0,0 +1,28 @@
>> +#if CONFIG_CMD_REMOTEPROC
> 
> We should guard including this file or not based on REMOTEPROC, not the
> contents.
> 
>> +#define CFG_SYS_SDRAM_BASE		0x80000000
> 
> I don't see this used anywhere else, please drop it.  Everything else
> seems fine, thanks!
> 

Thanks for the comments, I'll send v2 soon!
Neha Malcom Francis March 15, 2023, 4:18 a.m. UTC | #3
Hi Tom,

On 15/03/23 09:35, Neha Malcom Francis wrote:
> Hi Tom,
> 
> On 14/03/23 22:17, Tom Rini wrote:
>> On Tue, Mar 14, 2023 at 04:07:50PM +0530, Neha Malcom Francis wrote:
>>
>>> Add K3 common environment variables to .env. We retain the old-style C
>>> environment .h files to maintain compatibility with other K3 boards that
>>> have not moved to using .env yet.
>>>
>>> Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
>>
>> Thanks for starting this off, a few comments:
>>
>>> +#if CONFIG_MTD_RAW_NAND
>>> +dfu_alt_info_nand=
>>> +    SPL part 0 1;
>>> +    SPL.backup1 part 0 2;
>>> +    SPL.backup2 part 0 3;
>>> +    SPL.backup3 part 0 4;
>>> +    u-boot part 0 5;
>>> +    u-boot-spl-os part 0 6;
>>> +    kernel part 0 8;
>>> +    rootfs part 0 9
>>> +#endif
>>
>> We don't guard any of the other dfu_alt_innfo_xxx options, so I don't
>> think we need to here either.  If it's a concern about having the
>> variables when we don't have the support, perhaps a slightly different
>> structure of the files makes sense? All of the NAND variables in a
>> nand.env, emmc in emmc.env, etc.
>>

Left out this reply in the earlier email, but I will drop the addition 
of this file altogether in this patch series as none of the K3 boards 
use it. If extending to the older boards later, we can do like you 
suggest with separate files for each.

>>> diff --git a/include/environment/ti/k3_rproc.env 
>>> b/include/environment/ti/k3_rproc.env
>>> new file mode 100644
>>> index 0000000000..ed19ff4a52
>>> --- /dev/null
>>> +++ b/include/environment/ti/k3_rproc.env
>>> @@ -0,0 +1,28 @@
>>> +#if CONFIG_CMD_REMOTEPROC
>>
>> We should guard including this file or not based on REMOTEPROC, not the
>> contents.
>>
>>> +#define CFG_SYS_SDRAM_BASE        0x80000000
>>
>> I don't see this used anywhere else, please drop it.  Everything else
>> seems fine, thanks!
>>
> 
> Thanks for the comments, I'll send v2 soon!
>
diff mbox series

Patch

diff --git a/include/environment/ti/dfu.env b/include/environment/ti/dfu.env
new file mode 100644
index 0000000000..2358f22a73
--- /dev/null
+++ b/include/environment/ti/dfu.env
@@ -0,0 +1,54 @@ 
+dfu_alt_info_mmc=
+	boot part 0 1;
+	rootfs part 0 2;
+	MLO fat 0 1;
+	MLO.raw raw 0x100 0x200;
+	u-boot.img.raw raw 0x300 0x1000;
+	u-env.raw raw 0x1300 0x200;
+	spl-os-args.raw raw 0x1500 0x200;
+	spl-os-image.raw raw 0x1700 0x6900;
+	spl-os-args fat 0 1;
+	spl-os-image fat 0 1;
+	u-boot.img fat 0 1;
+	uEnv.txt fat 0 1
+
+dfu_alt_info_emmc=
+	rawemmc raw 0 3751936;
+	boot part 1 1;
+	rootfs part 1 2;
+	MLO fat 1 1;
+	MLO.raw raw 0x100 0x200;
+	u-boot.img.raw raw 0x300 0x1000;
+	u-env.raw raw 0x1300 0x200;
+	spl-os-args.raw raw 0x1500 0x200;
+	spl-os-image.raw raw 0x1700 0x6900;
+	spl-os-args fat 1 1;
+	spl-os-image fat 1 1;
+	u-boot.img fat 1 1;
+	uEnv.txt fat 1 1
+
+#if CONFIG_MTD_RAW_NAND
+dfu_alt_info_nand=
+	SPL part 0 1;
+	SPL.backup1 part 0 2;
+	SPL.backup2 part 0 3;
+	SPL.backup3 part 0 4;
+	u-boot part 0 5;
+	u-boot-spl-os part 0 6;
+	kernel part 0 8;
+	rootfs part 0 9
+#endif
+
+dfu_alt_info_ram=
+	kernel ram 0x80200000 0x4000000;
+	fdt ram 0x80f80000 0x80000;
+	ramdisk ram 0x81000000 0x4000000
+
+dfu_alt_info_qspi=
+	u-boot.bin raw 0x0 0x080000;
+	u-boot.backup raw 0x080000 0x080000;
+	u-boot-spl-os raw 0x100000 0x010000;
+	u-boot-env raw 0x110000 0x010000;
+	u-boot-env.backup raw 0x120000 0x010000;
+	kernel raw 0x130000 0x800000
+
diff --git a/include/environment/ti/k3_dfu.env b/include/environment/ti/k3_dfu.env
new file mode 100644
index 0000000000..201529636c
--- /dev/null
+++ b/include/environment/ti/k3_dfu.env
@@ -0,0 +1,30 @@ 
+dfu_alt_info_mmc=
+	boot part 1 1;
+	rootfs part 1 2;
+	tiboot3.bin fat 1 1;
+	tispl.bin fat 1 1;
+	u-boot.img fat 1 1;
+	uEnv.txt fat 1 1;
+	sysfw.itb fat 1 1
+
+dfu_alt_info_emmc=
+	rawemmc raw 0 0x800000 mmcpart 1;
+	rootfs part 0 1 mmcpart 0;
+	tiboot3.bin.raw raw 0x0 0x400 mmcpart 1;
+	tispl.bin.raw raw 0x400 0x1000 mmcpart 1;
+	u-boot.img.raw raw 0x1400 0x2000 mmcpart 1;
+	u-env.raw raw 0x3400 0x100 mmcpart 1;
+	sysfw.itb.raw raw 0x3600 0x800 mmcpart 1
+
+dfu_alt_info_ospi=
+	tiboot3.bin raw 0x0 0x080000;
+	tispl.bin raw 0x080000 0x200000;
+	u-boot.img raw 0x280000 0x400000;
+	u-boot-env raw 0x680000 0x020000;
+	sysfw.itb raw 0x6c0000 0x100000;
+	rootfs raw 0x800000 0x3800000
+
+dfu_alt_info_ram=
+	tispl.bin ram 0x80080000 0x200000;
+	u-boot.img ram 0x81000000 0x400000
+
diff --git a/include/environment/ti/k3_rproc.env b/include/environment/ti/k3_rproc.env
new file mode 100644
index 0000000000..ed19ff4a52
--- /dev/null
+++ b/include/environment/ti/k3_rproc.env
@@ -0,0 +1,28 @@ 
+#if CONFIG_CMD_REMOTEPROC
+dorprocboot=0
+boot_rprocs=
+	if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then
+			rproc init;
+			run boot_rprocs_mmc;
+		fi;
+rproc_load_and_boot_one=
+	if load mmc ${bootpart} $loadaddr ${rproc_fw}; then
+		if rproc load ${rproc_id} ${loadaddr} ${filesize}; then
+			rproc start ${rproc_id}
+		fi;
+	fi
+boot_rprocs_mmc=
+	env set rproc_id;
+	env set rproc_fw;
+	for i in ${rproc_fw_binaries} ; do
+		if test -z ${rproc_id} ; then
+			env set rproc_id $i;
+		else
+			env set rproc_fw $i;
+			run rproc_load_and_boot_one;
+			env set rproc_id;
+			env set rproc_fw;
+		fi;
+	done
+#endif
+
diff --git a/include/environment/ti/mmc.env b/include/environment/ti/mmc.env
new file mode 100644
index 0000000000..5677d057d8
--- /dev/null
+++ b/include/environment/ti/mmc.env
@@ -0,0 +1,61 @@ 
+mmcdev=0
+mmcrootfstype=ext4 rootwait
+finduuid=part uuid ${boot} ${bootpart} uuid
+args_mmc=run finduuid;setenv bootargs console=${console}
+	${optargs}
+	root=PARTUUID=${uuid} rw
+	rootfstype=${mmcrootfstype}
+loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
+bootscript=echo Running bootscript from mmc${mmcdev} ...;
+	source ${loadaddr}
+bootenvfile=uEnv.txt
+importbootenv=echo Importing environment from mmc${mmcdev} ...;
+	env import -t ${loadaddr} ${filesize}
+loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
+loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
+loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
+envboot=mmc dev ${mmcdev};
+	if mmc rescan; then
+		echo SD/MMC found on device ${mmcdev};
+		if run loadbootscript; then
+			run bootscript;
+		else
+			if run loadbootenv; then
+				echo Loaded env from ${bootenvfile};
+				run importbootenv;
+			fi;
+			if test -n $uenvcmd; then
+				echo Running uenvcmd ...;
+				run uenvcmd;
+			fi;
+		fi;
+	fi;
+mmcloados=
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if run loadfdt; then
+			bootz ${loadaddr} - ${fdtaddr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+				fi;
+		fi;
+	else
+		bootz;
+	fi;
+mmcboot=mmc dev ${mmcdev};
+	devnum=${mmcdev};
+	devtype=mmc;
+	if mmc rescan; then
+		echo SD/MMC found on device ${mmcdev};
+		if run loadimage; then
+			run args_mmc;
+			if test ${boot_fit} -eq 1; then
+				run run_fit;
+			else
+				run mmcloados;
+			fi;
+		fi;
+fi;
+
diff --git a/include/environment/ti/nand.env b/include/environment/ti/nand.env
new file mode 100644
index 0000000000..4e185c1b5f
--- /dev/null
+++ b/include/environment/ti/nand.env
@@ -0,0 +1,14 @@ 
+mtdids=nor0=47040000.spi.0,nor0=47034000.hyperbus
+mtdparts=mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),-@8m(hbmc.rootfs)
+nandargs=setenv bootargs console=${console}
+	${optargs}
+	root=${nandroot}
+	rootfstype=${nandrootfstype}
+nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
+nandrootfstype=ubifs rootwait
+nandboot=echo Booting from nand ...;
+	run nandargs;
+	nand read ${fdtaddr} NAND.u-boot-spl-os;
+	nand read ${loadaddr} NAND.kernel;
+	bootz ${loadaddr} - ${fdtaddr}
+
diff --git a/include/environment/ti/ti_armv7_common.env b/include/environment/ti/ti_armv7_common.env
new file mode 100644
index 0000000000..400474c895
--- /dev/null
+++ b/include/environment/ti/ti_armv7_common.env
@@ -0,0 +1,26 @@ 
+loadaddr=0x82000000
+kernel_addr_r=0x82000000
+fdtaddr=0x88000000
+dtboaddr=0x89000000
+fdt_addr_r=0x88000000
+fdtoverlay_addr_r=0x89000000
+rdaddr=0x88080000
+ramdisk_addr_r=0x88080000
+scriptaddr=0x80000000
+pxefile_addr_r=0x80100000
+bootm_size=0x10000000
+boot_fdt=try
+
+boot_fit=0
+addr_fit=0x90000000
+name_fit=fitImage
+update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
+get_overlaystring=
+	for overlay in $name_overlays;
+	do;
+	setenv overlaystring ${overlaystring}'#'${overlay};
+	done;
+run_fit=bootm ${addr_fit}#conf-${fdtfile}${overlaystring}
+
+#define CFG_SYS_SDRAM_BASE		0x80000000
+
diff --git a/include/environment/ti/ufs.env b/include/environment/ti/ufs.env
new file mode 100644
index 0000000000..509a87b89e
--- /dev/null
+++ b/include/environment/ti/ufs.env
@@ -0,0 +1,22 @@ 
+scsirootfstype=ext4 rootwait
+ufs_finduuid=part uuid scsi ${bootpart} uuid
+args_ufs=setenv devtype scsi;setenv bootpart 1:1;
+	run ufs_finduuid;
+	setenv bootargs console = ${console}
+	${optargs}
+	root=PARTUUID=${uuid} rw
+	rootfstype=${scsirootfstype};
+	setenv devtype scsi;
+	setenv bootpart 1:1
+init_ufs=ufs init; scsi scan; run args_ufs
+get_kern_ufs=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
+get_fdt_ufs=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
+get_overlay_ufs=
+	fdt address ${fdtaddr};
+	fdt resize 0x100000;
+	for overlay in $name_overlays;
+	do;
+	load scsi ${bootpart} ${dtboaddr} ${bootdir}/${overlay} &&
+	fdt apply ${dtboaddr};
+	done;
+