1*02c57abdSBin Meng /*
2*02c57abdSBin Meng * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
3*02c57abdSBin Meng *
4*02c57abdSBin Meng * SPDX-License-Identifier: GPL-2.0+
5*02c57abdSBin Meng */
6*02c57abdSBin Meng
7*02c57abdSBin Meng #include <common.h>
8*02c57abdSBin Meng #include <dm.h>
9*02c57abdSBin Meng #include <pci.h>
10*02c57abdSBin Meng #include <vbe.h>
11*02c57abdSBin Meng
vesa_video_probe(struct udevice * dev)12*02c57abdSBin Meng static int vesa_video_probe(struct udevice *dev)
13*02c57abdSBin Meng {
14*02c57abdSBin Meng return vbe_setup_video(dev, NULL);
15*02c57abdSBin Meng }
16*02c57abdSBin Meng
17*02c57abdSBin Meng static const struct udevice_id vesa_video_ids[] = {
18*02c57abdSBin Meng { .compatible = "vesa-fb" },
19*02c57abdSBin Meng { }
20*02c57abdSBin Meng };
21*02c57abdSBin Meng
22*02c57abdSBin Meng U_BOOT_DRIVER(vesa_video) = {
23*02c57abdSBin Meng .name = "vesa_video",
24*02c57abdSBin Meng .id = UCLASS_VIDEO,
25*02c57abdSBin Meng .of_match = vesa_video_ids,
26*02c57abdSBin Meng .probe = vesa_video_probe,
27*02c57abdSBin Meng };
28*02c57abdSBin Meng
29*02c57abdSBin Meng static struct pci_device_id vesa_video_supported[] = {
30*02c57abdSBin Meng { PCI_DEVICE_CLASS(PCI_CLASS_DISPLAY_VGA << 8, ~0) },
31*02c57abdSBin Meng { },
32*02c57abdSBin Meng };
33*02c57abdSBin Meng
34*02c57abdSBin Meng U_BOOT_PCI_DEVICE(vesa_video, vesa_video_supported);
35