summaryrefslogtreecommitdiff
path: root/arch/x86/lib/fsp/fsp_graphics.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-07-02 21:12:31 -0600
committerBin Meng <bmeng.cn@gmail.com>2020-07-09 12:33:24 +0800
commitbe7418f35e80b3d836034a11866d47cdf3ba82ea (patch)
tree61617e077e4dee27ca4b01c83f5e63e96cc36161 /arch/x86/lib/fsp/fsp_graphics.c
parent0938767da1782d2c5c5d1f003b8835a59271b622 (diff)
x86: fsp: video: Allocate a frame buffer when needed
When the copy framebuffer is in use, we must also have the standard U-Boot framebuffer available. Update the FSP driver to support this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Anatolij Gustschin <agust@denx.de> Tested-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/lib/fsp/fsp_graphics.c')
-rw-r--r--arch/x86/lib/fsp/fsp_graphics.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/lib/fsp/fsp_graphics.c b/arch/x86/lib/fsp/fsp_graphics.c
index 6e23f3c95f..e8c1e07af1 100644
--- a/arch/x86/lib/fsp/fsp_graphics.c
+++ b/arch/x86/lib/fsp/fsp_graphics.c
@@ -117,6 +117,16 @@ err:
return ret;
}
+static int fsp_video_bind(struct udevice *dev)
+{
+ struct video_uc_platdata *plat = dev_get_uclass_platdata(dev);
+
+ /* Set the maximum supported resolution */
+ plat->size = 2560 * 1600 * 4;
+
+ return 0;
+}
+
static const struct udevice_id fsp_video_ids[] = {
{ .compatible = "fsp-fb" },
{ }
@@ -126,7 +136,9 @@ U_BOOT_DRIVER(fsp_video) = {
.name = "fsp_video",
.id = UCLASS_VIDEO,
.of_match = fsp_video_ids,
+ .bind = fsp_video_bind,
.probe = fsp_video_probe,
+ .flags = DM_FLAG_PRE_RELOC,
};
static struct pci_device_id fsp_video_supported[] = {