video: Add a function to obtain the framebuffer address

Add a new function which returns the framebuffer address of the first
video device. This will allow the global_data field top be dropped.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2024-08-21 10:18:55 -06:00
committed by Tom Rini
parent 26d3faae29
commit b5c5923e4e
2 changed files with 25 additions and 0 deletions

View File

@@ -152,6 +152,20 @@ int video_reserve(ulong *addrp)
return 0;
}
ulong video_get_fb(void)
{
struct udevice *dev;
uclass_find_first_device(UCLASS_VIDEO, &dev);
if (dev) {
const struct video_uc_plat *uc_plat = dev_get_uclass_plat(dev);
return uc_plat->base;
}
return 0;
}
int video_fill_part(struct udevice *dev, int xstart, int ystart, int xend,
int yend, u32 colour)
{

View File

@@ -420,4 +420,15 @@ int bmp_info(ulong addr);
*/
int video_reserve_from_bloblist(struct video_handoff *ho);
/**
* video_get_fb() - Get the first framebuffer address
*
* This function does not probe video devices, so can only be used after a video
* device has been activated.
*
* Return: address of the framebuffer of the first video device found, or 0 if
* there is no device
*/
ulong video_get_fb(void);
#endif