1*83d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
202c57abdSBin Meng /*
302c57abdSBin Meng * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
402c57abdSBin Meng */
502c57abdSBin Meng
602c57abdSBin Meng #include <common.h>
702c57abdSBin Meng #include <dm.h>
802c57abdSBin Meng #include <pci.h>
902c57abdSBin Meng #include <vbe.h>
1002c57abdSBin Meng
vesa_video_probe(struct udevice * dev)1102c57abdSBin Meng static int vesa_video_probe(struct udevice *dev)
1202c57abdSBin Meng {
1302c57abdSBin Meng return vbe_setup_video(dev, NULL);
1402c57abdSBin Meng }
1502c57abdSBin Meng
1602c57abdSBin Meng static const struct udevice_id vesa_video_ids[] = {
1702c57abdSBin Meng { .compatible = "vesa-fb" },
1802c57abdSBin Meng { }
1902c57abdSBin Meng };
2002c57abdSBin Meng
2102c57abdSBin Meng U_BOOT_DRIVER(vesa_video) = {
2202c57abdSBin Meng .name = "vesa_video",
2302c57abdSBin Meng .id = UCLASS_VIDEO,
2402c57abdSBin Meng .of_match = vesa_video_ids,
2502c57abdSBin Meng .probe = vesa_video_probe,
2602c57abdSBin Meng };
2702c57abdSBin Meng
2802c57abdSBin Meng static struct pci_device_id vesa_video_supported[] = {
2902c57abdSBin Meng { PCI_DEVICE_CLASS(PCI_CLASS_DISPLAY_VGA << 8, ~0) },
3002c57abdSBin Meng { },
3102c57abdSBin Meng };
3202c57abdSBin Meng
3302c57abdSBin Meng U_BOOT_PCI_DEVICE(vesa_video, vesa_video_supported);
34