Hello everyone.
My goal is to get my LS1043a board to boot by SD and starting the system by shutting down cores 1, 2 and 3.
Once the system is up and running, i would like to see from uboot that such cores are disabled.
To do this I have to create a custom boot via flexbuilder.
The procedure I performed is the following:
/home/flex/Downloads/flexbuild_lsdk2108/components/firmware/rcw/ls1043ardb/RR_FQPP_1455
/home/flex/Downloads/flexbuild_lsdk2108/components/firmware/rcw
And run the linux $ make command, to compile all the RCWs
/home/flex/Downloads/flexbuild_lsdk2108/build/firmware/rcw
/home/flex/Downloads/flexbuild_lsdk2108/build/firmware/atf
/home/flex/Downloads/flexbuild_lsdk2108/build/images
flex-builder -i mkfw -m ls1043ardb-b sd
firmware_ls1043ardb_sdboot.img
firmware_ls1043ardb_sdboot_secure.img
linux_LS_arm64_signature.itb
lsdk2108_yocto_tiny_LS_arm64.itb
rootfs_lsdk2108_yocto_tiny_arm64.cpio.gz
sudo dd if=firmware_ls1043ardb_sdboot.img of=/dev/sdb1 bs=512 seek=8
I use a USB adapter to insert SD card into my PC.
I am running Ubuntu 20.04 through a virtual machine.
The writing seems to have been successful.
But when I try to boot from SD (set de DIP switches for SD boot), I don't see anything on the console.
I don't see Uboot starting.
there is something wrong with this procedure ?
Below is the link to the drive folder in which there are all the .bin files of interest and the modified RCW file
Solved! Go to Solution.
U-Boot is natively big-endian, so for little-endian registers it is needed to perform byte swap.
Are you able to prepare bootable SD card if unmodified rcw_1600_sdboot.rcw is used?
Yes, I can generate a working SD boot in case I don't modify rcw_1600_sdboot.rcw.
Please correct the line:
write 0x01ee0094, 0x0000000e
as follows
write 0xee0094, 0x0000000e
Thank you for your answer.
Now the boot starts and I can see u-boot.
To be sure the cores have been disabled, I went to read the contents of the DCFG CCSR COREDISR register by running the following command on u-boot
md 0x1ee0094 1
But I read the following value 0x0e000000
I shouldn't be reading 0x0000000e
U-Boot is natively big-endian, so for little-endian registers it is needed to perform byte swap.
Thanks a lot for the answer.