SPRADK8 February 2025 AM62P
To achieve flicker-free transition from U-Boot
Secondary Program Loader (SPL) to the U-Boot stage, preserve the image framebuffer
and do not close the Display Subsystem (DSS) driver. To pass the framebuffer from
the SPL stage to the U-Boot proper stage, a region in the memory is reserved and the
same region is passed from the SPL stage to U-Boot proper using the
bloblist, in the video_post_probe function. At
the SPL stage, various parameters like framebuffer region, size, number of pixel
columns (xsize ), and the number of pixel rows
(ysize) are all stored in a blob. The blobs are reserved memory
regions which contain information to be passed from one stage to another. When the
initial setup sequence is running in the U-Boot proper stage, reserve_video
API is called, which determines if video blob is present. If video blob
is present, the Application Programming Interface (API) uses blob data from the
previous stage which makes sure the same framebuffer region and parameters are set,
thus keeping the splash image intact without any flicker across the stage. If blob
is found, the DSS driver is not probed again, which prevents screen refresh.