For version 18.03 of the LSDK I am seeing SEC Firmware being loaded in the uboot log. For versions 17.09 and 18.09 I do not see the entry in the log. Can you tell me how SEC firmware is enabled / disabled and why it is only showing up in 18.03? The SEC load works fine with 18.03 on the LS1043ARDB but when I run the same version on our custom board which uses the LS1023A it crashed uboot. Is the SEC firmware not compatible with the LS1023?
SEC Firmware: 'loadables' present in config
loadables: 'trustedOS@1'
U boot log from LSDK 18.03:
U-Boot SPL 2017.11-g00cde47 (Mar 22 2018 - 18:28:00)
Initialzing DDR using fixed setting
Configuring DDR for 1600 MT/s data rate
Trying to boot from MMC1
mmc_init: -110, time 746
spl: mmc init failed with error: -110
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
U-Boot SPL 2017.11-g00cde47 (Mar 22 2018 - 18:28:00)
Initialzing DDR using fixed setting
Configuring DDR for 1600 MT/s data rate
Trying to boot from MMC1
U-Boot 2017.11-g00cde47 (Mar 22 2018 - 18:28:00 +0800)
SoC: unknown (0x87920411)
Clock Configuration:
CPU0(A53):1600 MHz CPU1(A53):1600 MHz CPU2(A53):1600 MHz
CPU3(A53):1600 MHz
Bus: 400 MHz DDR: 1600 MT/s FMAN: 500 MHz
Reset Configuration Word (RCW):
00000000: 08100010 0a000000 00000000 00000000
00000010: 14550002 80004012 60040000 c1002000
00000020: 00000000 00000000 00000000 00038800
00000030: 00000000 00001100 00000096 00000001
Model: LS1043A RDB Board
Board: LS1043ARDB, boot from SD
CPLD: V1.5
PCBA: V3.0
SERDES Reference Clocks:
SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ
I2C: ready
DRAM: 1.9 GiB (DDR4, 32-bit, CL=11, ECC off)
Using SERDES1 Protocol: 5205 (0x1455)
SEC0: RNG instantiated
FSL_SDHC: 0
PPA Firmware: Version LSDK-18.03
SEC Firmware: 'loadables' present in config
loadables: 'trustedOS@1'
MMC read: dev # 0, block # 18952, count 128 ...
Not a microcode
Flash: 128 MiB
NAND: 512 MiB
MMC: *** Warning - bad CRC, using default environment
U boot log from 17.09:
U-Boot SPL 2017.07-g503eff0 (Sep 26 2017 - 15:01:33)
Initializing DDR....
WARNING: Calling __hwconfig without a buffer and before environment is ready
WARNING: Calling __hwconfig without a buffer and before environment is ready
WARNING: Calling __hwconfig without a buffer and before environment is ready
Trying to boot from MMC1
U-Boot 2017.07-g503eff0 (Sep 26 2017 - 15:01:33 +0800)
SoC: unknown (0x87920411)
Clock Configuration:
CPU0(A53):1600 MHz CPU1(A53):1600 MHz CPU2(A53):1600 MHz
CPU3(A53):1600 MHz
Bus: 400 MHz DDR: 1600 MT/s FMAN: 500 MHz
Reset Configuration Word (RCW):
00000000: 08100010 0a000000 00000000 00000000
00000010: 14550002 80004012 60040000 c1002000
00000020: 00000000 00000000 00000000 00038800
00000030: 00000000 00001100 00000096 00000001
Model: LS1043A RDB Board
Board: LS1043ARDB, boot from SD
CPLD: V1.5
PCBA: V3.0
SERDES Reference Clocks:
SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ
I2C: ready
DRAM: Detected UDIMM Fixed DDR on board
1.9 GiB (DDR4, 32-bit, CL=11, ECC off)
Using SERDES1 Protocol: 5205 (0x1455)
SEC0: RNG instantiated
FSL_SDHC: 0
PPA Firmware: Version LSDK-17.09
MMC read: dev # 0, block # 18952, count 128 ...
Not a microcode
Flash: 128 MiB
NAND: 512 MiB
This possibility is available for LS1012a and LS1088a. See LSDK 18.09 documentation:
https://www.nxp.com/docs/en/supporting-information/LSDK_REV18.09.pdf
Look at also attached files from u-boot source.
Find the "SEC firmware" in these files.
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Pavel - I do not see how this reply relates in any way to my original question. Can you tell me how SEC firmware is enabled / disabled and why it is only showing up in 18.03?
Have a great day,
Dan
Use the following commands for building and loading microcodes:
$ sudo apt-get install git
$ tar xvzf flexbuild_lsdk1809.tgz
$ cd flexbuild
$ source setup.env
wget http://www.nxp.com/lgfiles/sdk/lsdk1809/app_components_arm64.tgz
wget http://www.nxp.com/lgfiles/sdk/lsdk1809/bootpartition_arm64_lts_4.14.tgz
wget http://www.nxp.com/lgfiles/sdk/lsdk1809/arm64-modules-4.14.67.tgz
flex-builder -i mkrfs -a arm64
tar xvzf app_components_arm64.tgz -C build/apps
sudo tar xvzf arm64-modules-4.14.67.tgz -C build/rfs/rootfs_ubuntu_bionic_arm64/lib/modules
flex-builder -i merge-component -a arm64
flex-builder -c firmware -a arm64
Find the fman microcode and qe microcode in the following folder:
/LSDK_1809/flexbuild_lsdk1809/build/firmware/
See the qoriq_memory_layout.txt file for loading of these microcodes.
For example the following commands can be used on host PC Linux for SD card preparation:
sudo dd if= uboot_ls1043ardb_sdcard.bin of=/dev/sdb seek=8 bs=512
sudo dd if= fsl_fman_ucode_ls1043_r1.1_106_4_18.bin of=/dev/sdb seek=18432 bs=512 // 0x4800
sudo dd if=ppa.itb of=/dev/sdb seek=8192 bs=512 // 0x2000
sudo dd if= fsl_qe_ucode_1021_10_A.bin of=/dev/sdb seek=18952 bs=512 // 0x4A08
Have a great day,
Pavel Chubakov
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------