[PATCH 1/4] boot: fdt_simplefb: Enumerate framebuffer info from video handoff
Nikhil Jain
n-jain1 at ti.com
Wed Mar 6 11:42:14 CET 2024
Hi Devarsh,
On 22/02/24 18:38, Devarsh Thakkar wrote:
> Enable and update simple-framebuffer node using the video handoff
> bloblist if video was enabled at SPL stage and corresponding video
> bloblist was received at u-boot proper with necessary parameters.
>
> Signed-off-by: Devarsh Thakkar <devarsht at ti.com>
> ---
> boot/fdt_simplefb.c | 34 +++++++++++++++++++++++++---------
> 1 file changed, 25 insertions(+), 9 deletions(-)
Reviewed-by: Nikhil M Jain <n-jain1 at ti.com>
>
> diff --git a/boot/fdt_simplefb.c b/boot/fdt_simplefb.c
> index 069ced75a7..b0221eaf2a 100644
> --- a/boot/fdt_simplefb.c
> +++ b/boot/fdt_simplefb.c
> @@ -12,6 +12,8 @@
> #include <asm/global_data.h>
> #include <linux/libfdt.h>
> #include <video.h>
> +#include <spl.h>
> +#include <bloblist.h>
>
> DECLARE_GLOBAL_DATA_PTR;
>
> @@ -26,15 +28,29 @@ static int fdt_simplefb_configure_node(void *blob, int off)
> struct udevice *dev;
> int ret;
>
> - ret = uclass_first_device_err(UCLASS_VIDEO, &dev);
> - if (ret)
> - return ret;
> - uc_priv = dev_get_uclass_priv(dev);
> - plat = dev_get_uclass_plat(dev);
> - xsize = uc_priv->xsize;
> - ysize = uc_priv->ysize;
> - bpix = uc_priv->bpix;
> - fb_base = plat->base;
> + if (IS_ENABLED(CONFIG_SPL_VIDEO_HANDOFF) && spl_phase() > PHASE_SPL) {
> + struct video_handoff *ho;
> +
> + ho = bloblist_find(BLOBLISTT_U_BOOT_VIDEO, sizeof(*ho));
> + if (!ho)
> + return log_msg_ret("Missing video bloblist", -ENOENT);
> +
> + xsize = ho->xsize;
> + ysize = ho->ysize;
> + bpix = ho->bpix;
> + fb_base = ho->fb;
> + } else {
> + ret = uclass_first_device_err(UCLASS_VIDEO, &dev);
> + if (ret)
> + return ret;
> + uc_priv = dev_get_uclass_priv(dev);
> + plat = dev_get_uclass_plat(dev);
> + xsize = uc_priv->xsize;
> + ysize = uc_priv->ysize;
> + bpix = uc_priv->bpix;
> + fb_base = plat->base;
> + }
> +
> switch (bpix) {
> case 4: /* VIDEO_BPP16 */
> name = "r5g6b5";
Thanks,
Nikhil
More information about the U-Boot
mailing list