View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004875 | UBoot | U-Boot | public | 2021-10-04 15:53 | 2021-10-05 10:46 |
Reporter | derksen | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Target Version | fsimx8mm-Y2021.04 | Fixed in Version | fsimx8mm-Y2021.04 | ||
Summary | 0004875: Add streaming option to SDP protocol | ||||
Description | Add streaming option to SDP protocol When SDP (Serial Download Protocol) was started in SPL, this never returned. It was assumed that an executable image, e.g. U-Boot with ATF, was loaded and an appropriate jump command also started the code. For this, SDP stayed in an endless loop to handle all incoming SDP commands. On F&S boards, we have two stages in SPL. First we need to load a board configuration, DRAM timings and similar things. Later we want to load a U-Boot image as before. Therefore add a feature to return from SDP after one single file and also add an option to resume the SDP protocol later again. When downloading the first stage with board configuration, DRAM timings and other data, we only have OCRAM and TCM available on i.MX CPUs. But the whole image is too big to fit into any of these. So we actually need to react to the data as it comes in and load different parts to different addresses. So we can not load the image in one big part, we have to process the data from time to time. Add callback functions new_file() and rx_data() that are called when a new file starts (i.e. the length is known) and every time when a block of data was successfully received. These functions can be used to process the incoming data. This is the so-called streaming mode. Add struct sdp_stream_ops to define these two callback functions. Add new function spl_sdp_stream_image() that accepts these ops and starts SDP in stream mode. Also add a new function spl_sdp_stream_continue() that starts then next SDP transfer in stream mode without re-initializing USB. Here the same or different callback functions may be passed. | ||||
Forum Link | |||||