summaryrefslogtreecommitdiff
path: root/drivers/video/vesa.c
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2016-10-09 04:14:11 -0700
committerBin Meng <bmeng.cn@gmail.com>2016-10-12 10:56:41 +0800
commit02c57abd5079dec2311cf51e785bd2090b7bb440 (patch)
tree27b57c90a64509fc70e7f97cee85da3ee4f8d173 /drivers/video/vesa.c
parent4dc5e54da31c810c988a0122fcd50b7d6f70354a (diff)
dm: video: Add driver for VESA-compatible device
This adds a DM driver for VESA-compatible device. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/video/vesa.c')
-rw-r--r--drivers/video/vesa.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/video/vesa.c b/drivers/video/vesa.c
new file mode 100644
index 0000000000..ddf8df8993
--- /dev/null
+++ b/drivers/video/vesa.c
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <dm.h>
+#include <pci.h>
+#include <vbe.h>
+
+static int vesa_video_probe(struct udevice *dev)
+{
+ return vbe_setup_video(dev, NULL);
+}
+
+static const struct udevice_id vesa_video_ids[] = {
+ { .compatible = "vesa-fb" },
+ { }
+};
+
+U_BOOT_DRIVER(vesa_video) = {
+ .name = "vesa_video",
+ .id = UCLASS_VIDEO,
+ .of_match = vesa_video_ids,
+ .probe = vesa_video_probe,
+};
+
+static struct pci_device_id vesa_video_supported[] = {
+ { PCI_DEVICE_CLASS(PCI_CLASS_DISPLAY_VGA << 8, ~0) },
+ { },
+};
+
+U_BOOT_PCI_DEVICE(vesa_video, vesa_video_supported);