Forum Discussion
How to load intel RSU driver using "insmod"?
- 3 years ago
I will leave this here in case someone in the future needs to do this.
checkout this link for version compatibility:
Remote System Update Compatibility | Documentation | RocketBoards.org
What "worked" for me was to compile ATF 2.4.1, kernel 5.4.114 with RSU and u-boot 2021.01 plus the RSU libraries that needs to be put on the HPS, essentially the exact version they had in their manual.
ATF 2.6.1 crashed when booting into the kernel, with u-boot 2021.01, Intel does not really support older versions, so performance most likely will regress.
Side note:
Updating to u-boot 2021.01 from 2019 also meant that the L3 registers needed to be handled differently, the "sec_reg" driver that they introduced that can touch the L3 registers in the DTS file, only starts to exist from uboot 2021.04 and even then, it does not preserve the values of the RESERVED registers.
So for that I had to follow the suggestions at here and recompile ATF with the modification to its source code and add a script in u-boot to set them before booting the kernel.
Hello,
I finally got the chance to test it on the hardware, I have set the "CONFIG_INTEL_STRATIX10_RSU=y" as suggested and copied the libraries for the RSU to the SD-CARD.
The flash image was built with HPS first, following the instructions for creating multiple section in the flash for the FACTORY_IMAGE and the INITIAL_IMAGE.
Trying to boot with this flash image and the RSU enabled, creates the following boot error in u-boot:
Invalid bus 0 (err=-19) Failed to initialize SPI flash at 0:0 (error -19) RSU: Remote System Update Status Current Image : 0x01000000 Last Fail Image : 0x00000000 State : 0x00000000 Version : 0x00000202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000 RSU: Sub-partition table 0 offset 0x00910000 RSU: Sub-partition table 1 offset 0x00918000 Invalid bus 0 (err=-19) RSU: SPI probe failed.
The output of the "dm tree" in u-boot (the spi does not seem to be binding/loading):
Class Index Probed Driver Name ----------------------------------------------------------- root 0 [ + ] root_driver root_driver simple_bus 0 [ + ] generic_simple_bus `-- soc reset 0 [ + ] socfpga-reset |-- rstmgr@ffd11000 sysreset 0 [ ] socfpga_sysreset | `-- sysreset eth 0 [ ] dwmac_socfpga |-- ethernet@ff800000 mmc 0 [ + ] socfpga_dwmmc |-- dwmmc0@0xff808000 blk 0 [ + ] mmc_blk | `-- [email protected] serial 0 [ + ] ns16550_serial |-- serial0@ffc02000 spi 0 [ ] cadence_spi |-- spi@ff8d2000 i2c 0 [ ] i2c_designware |-- i2c@ffc02800 i2c 1 [ ] i2c_designware |-- i2c@ffc02900 syscon 0 [ + ] syscon `-- sysmgr@ffd12000
for reference, the map file of the flash image is the following:
BOOT_INFO 0x00000000 0x0010FFFF FACTORY_IMAGE 0x00110000 0x0090FFFF (0x0017BFFF) SPT0 0x00910000 0x00917FFF SPT1 0x00918000 0x0091FFFF CPB0 0x00920000 0x00927FFF CPB1 0x00928000 0x0092FFFF P1 0x01000000 0x01FFFFFF (0x0106BFFF) P2 0x02000000 0x02FFFFFF P3 0x03000000 0x03FFFFFF
I have searched online for solutions and came across this post with similar error message...
Note that booting with a "normal" flash image (without the RSU feature) still works but of course the original issues still persist:
librsu: librsu_misc_get_devattr(): error: Unable to open device attribute file '/sys/devices/platform/stratix10-rsu.0/spt0_address' [LOW] librsu: librsu_ll_open_qspi(): error: Unable to open '/dev/mtd0' [LOW] librsu_init return -2
Are there other configurations that need to be change to support RSU? maybe u-boot .config file or the device tree?
thank you!