This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TCI6630K2L: load kernel on k2l evm board

Part Number: TCI6630K2L

Tool/software: Linux

I use the k2levm(TCI6630).

I haved download the SDK-Linux(ti-processor-sdk-linux-k2l-evm-04.00.00.04) and builded u-boot and kernel.

I used tftp and u-boot succeeded.

I am trying to download a kernel(zimage) to nand in u-boot.

But I do not understand how to load the kernel from nand flash.


I'm following the steps in:
processors.wiki.ti.com/.../Program_EVM_UG
processors.wiki.ti.com/.../Linux_Kernel_Users_Guide


The u-boot environment is as follows.


U-Boot SPL 2017.01-g9fd60700db (Jun 28 2017 - 18:48:37)
Trying to boot from SPI


U-Boot 2017.01-g9fd60700db (Jun 28 2017 - 18:48:37 -0400)

CPU: 66AK2Lx SR1.0
Model: Texas Instruments Keystone 2 Lamarr EVM
I2C:   ready
DRAM:  DRAM: 2 GiB

Clear entire DDR3 memory to enable ECC
2 GiB
NAND:  2048 MiB
Net:   eth0: netcp@26000000
Warning: netcp@slave-1 (eth1) using random MAC address - ea:5b:95:5c:73:c7
, eth1: netcp@slave-1
Warning: netcp@slave-2 (eth2) using random MAC address - 4e:14:8a:dc:5e:f0
, eth2: netcp@slave-2
Warning: netcp@slave-3 (eth3) using random MAC address - ce:28:10:14:0e:da
, eth3: netcp@slave-3
Hit any key to stop autoboot:  0
=>
=> printenv
addr_load_sec_bm=0x0c08c000
addr_mon=0x87000000
addr_non_sec_mon=0x0c087fc0
addr_secdb_key=0xc000000
addr_ubi=0x82000000
arch=arm
args_all=setenv bootargs console=ttyS0,115200n8 rootwait=1
args_net=setenv bootargs ${bootargs} rootfstype=nfs root=/dev/nfs rw nfsroot=${serverip}:${nfs_root},${nfs_options} ip=dhcp
args_ramfs=setenv bootargs ${bootargs} rdinit=/sbin/init rw root=/dev/ram0 initrd=0x808080000,80M
args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs root=ubi0:rootfs rootflags=sync rw ubi.mtd=ubifs,4096
baudrate=115200
board=ks2_evm
board_name=ks2_evm
boot=ubi
boot_fdt=try
bootcmd=run init_${boot}; run get_mon_${boot} run_mon; run get_kern_${boot}; run init_fw_rd_${boot}; run get_fdt_${boot}; run run_kern
bootdelay=2
bootdir=/boot
bootm_size=0x10000000
burn_ubi=nand erase.part ubifs; nand write ${addr_ubi} ubifs ${filesize}
burn_uboot_nand=nand erase 0 0x100000; nand write ${loadaddr} 0 ${filesize}
burn_uboot_spi=sf probe; sf erase 0 0x90000; sf write ${loadaddr} 0 ${filesize}
cpu=armv7
ethaddr=74:da:ea:33:b5:a8
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=fdee8fe0
get_fdt_net=dhcp ${fdtaddr} ${tftp_root}/${name_fdt}
get_fdt_nfs=nfs ${fdtaddr} ${nfs_root}/boot/${name_fdt}
get_fdt_ramfs=dhcp ${fdtaddr} ${tftp_root}/${name_fdt}
get_fdt_ubi=ubifsload ${fdtaddr} ${bootdir}/${name_fdt}
get_fit_mmc=load mmc ${bootpart} ${fit_loadaddr} ${bootdir}/${fit_bootfile}
get_fit_net=dhcp ${fit_loadaddr} ${tftp_root}/${fit_bootfile}
get_fit_nfs=nfs ${fit_loadaddr} ${nfs_root}/boot/${fit_bootfile}
get_fit_ramfs=dhcp ${fit_loadaddr} ${tftp_root}/${fit_bootfile}
get_fit_ubi=ubifsload ${fit_loadaddr} ${bootdir}/${fit_bootfile}
get_fs_ramfs=dhcp ${rdaddr} ${tftp_root}/${name_fs}
get_kern_net=dhcp ${loadaddr} ${tftp_root}/${name_kern}
get_kern_nfs=nfs ${loadaddr} ${nfs_root}/boot/${name_kern}
get_kern_ramfs=dhcp ${loadaddr} ${tftp_root}/${name_kern}
get_kern_ubi=ubifsload ${loadaddr} ${bootdir}/${name_kern}
get_mon_net=dhcp ${addr_mon} ${tftp_root}/${name_mon}
get_mon_nfs=nfs ${addr_mon} ${nfs_root}/boot/${name_mon}
get_mon_ramfs=dhcp ${addr_mon} ${tftp_root}/${name_mon}
get_mon_ubi=ubifsload ${addr_mon} ${bootdir}/${name_mon}
get_ubi_net=dhcp ${addr_ubi} ${tftp_root}/${name_ubi}
get_ubi_nfs=nfs ${addr_ubi} ${nfs_root}/boot/${name_ubi}
get_uboot_net=dhcp ${loadaddr} ${tftp_root}/${name_uboot}
get_uboot_nfs=nfs ${loadaddr} ${nfs_root}/boot/${name_uboot}
init_fw_rd_net=dhcp ${rdaddr} ${tftp_root}/${name_fw_rd}; run set_rd_spec
init_fw_rd_nfs=nfs ${rdaddr} ${nfs_root}/boot/${name_fw_rd}; run set_rd_spec
init_fw_rd_ramfs=setenv rd_spec -
init_fw_rd_ubi=ubifsload ${rdaddr} ${bootdir}/${name_fw_rd}; run set_rd_spec
init_net=run args_all args_net
init_nfs=setenv autoload no; dhcp; run args_all args_net
init_ramfs=run args_all args_ramfs get_fs_ramfs
init_ubi=run args_all args_ubi; ubi part ubifs; ubifsmount ubi:rootfs;
ipaddr=192.168.56.24
kernel_addr_r=0x82000000
loadaddr=0x82000000
mem_lpae=1
mtdparts=mtdparts=davinci_nand.0:1024k(bootloader)ro,512k(params)ro,-(ubifs)
name_fdt=keystone-k2l-evm.dtb
name_fs=arago-console-image-k2l-evm.cpio.gz
name_fw_rd=k2-fw-initrd.cpio.gz
name_kern=zImage
name_mon=skern-k2l.bin
name_ubi=k2l-evm-ubifs.ubi
name_uboot=u-boot-spi-k2l-evm.gph
nfs_options=v3,tcp,rsize=4096,wsize=4096
nfs_root=/export
no_post=1
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
rdaddr=0x88080000
run_kern=bootz ${loadaddr} ${rd_spec} ${fdtaddr}
run_mon=mon_install ${addr_mon}
run_mon_hs=mon_install ${addr_non_sec_mon} ${addr_load_sec_bm}
scriptaddr=0x80000000
serverip=192.168.56.105
set_rd_spec=setenv rd_spec ${rdaddr}:${filesize}
soc=keystone
stderr=serial@02530c00
stdin=serial@02530c00
stdout=serial@02530c00
tftp_root=/
vendor=ti
ver=U-Boot 2017.01-g9fd60700db (Jun 28 2017 - 18:48:37 -0400)

Environment size: 3942/262140 bytes
=>

Question)
1. Why do you need name_mon(skern-k2l.bin)?
2. what is the address to write to nand after loading zimage at 0x82000000?
3. What is bootcmd to load the kernel in nand flash?