This article introduced one way for solving the issue that met from several customers, which caused by lacking of necessary partition to hold the PFE FW.
Recently, several customers have submitted similar requests via on-line technical support channel, although based on different platforms and scenarios, indicating a need for dealing with the issue that PFE FW could not be loaded correctly when they do not use the full SD booting image.
Rather than directly flashing the full SD image onto the SD card, some customers prefer to utilize only the small booting image(fip.s32) to initiate board booting. They intend to launch their system with images (kernel, DTS, RootFS) independently built via TFTP service under U-Boot. However, this approach has proven unfeasible due to certain customers' specific designs not supporting GMAC, thus preventing image transfer to the board through TFTP.
Therefore, it is essential to explore alternative methods for initializing PFE that align with these specific customer requirements.
Looking into the default BSP implementation, the PFE firmware is stored in the first partition of the SD card, specifically for SD boot. During the U-Boot boot process, the PFE driver loads the firmware from this partition and proceeds to initialize the ports based on other configurations such as Serdes.
Examining the default U-Boot code, the firmware loading process can be represented as the following block diagram:
The firmware loading process is quite complex due to routines that access the filesystem of the block device. The PFE firmware resides in a first partition. If the SD card lacks the partition, it's crucial to create one and install the PFE firmware before initializing the PFE ports. These two steps are essential based formal U-Boot code from BSP.
To mitigate such issues, it is advantageous not to put the PFE FW into the SD partition, but otherwhere.
It is possible to put it into on-board eMMC, QSPI flash, or even integrate it directly into U-Boot to avoid the issue described above. This document will focus on the implementation of the last method mentioned, this approach facilitates network connectivity while solely flashing the fip.s32 file. Such a feature is beneficial in meeting specific customer requirements.
The technical details are described in the document, it simplified the FW loading process:
It is tested with BSP40 and PFE FW 1.8, the corresponding reference patch is attached together within the document.
Please note that this is only a reference implementation, designed to offer an alternative method for loading PFE firmware in specific cases. It is not a formal patch intended for use in the BSP or for other product applications.
View full article