# Kconfig SeaBIOS VGA BIOS configuration

menu "VGA ROM"
    choice
        prompt "VGA Hardware Type"
        default NO_VGABIOS

        config NO_VGABIOS
            bool "None"
            help
                Do not build a VGA BIOS.

        config VGA_STANDARD_VGA
            depends on QEMU
            bool "QEMU/Bochs Original IBM 256K VGA"
            help
                Build basic VGA BIOS support (pre Super-VGA) for use
                on emulators.

        config VGA_CIRRUS
            depends on QEMU
            bool "QEMU/Bochs Cirrus SVGA"
            help
                Build support for Cirrus VGA emulation found on QEMU
                and Bochs emulators.  This is for emulators; it is not
                intended for use on real Cirrus hardware.

        config VGA_BOCHS
            depends on QEMU
            bool "QEMU/Bochs VBE SVGA"
            help
                Build support for Bochs DISPI interface (a custom VBE
                protocol) found on QEMU and Bochs emulators.

        config VGA_GEODEGX2
            bool "GeodeGX2"
            help
                Build support for Geode GX2 vga.

        config VGA_GEODELX
            bool "GeodeLX"
            help
                Build support for Geode LX vga.
    endchoice

    choice
        depends on VGA_GEODEGX2 || VGA_GEODELX
        prompt "Output Mode"
        default VGA_OUTPUT_CRT

        config VGA_OUTPUT_CRT
            bool "CRT"
            help
                Use CRT for output.

        config VGA_OUTPUT_PANEL
            bool "Flat Panel"
            help
                Use flat panel for output.

        config VGA_OUTPUT_CRT_PANEL
            bool "CRT and Flat Panel"
            help
                Use CRT and flat panel for output.
    endchoice

    config BUILD_VGABIOS
        bool
        default !NO_VGABIOS

    config VGA_VBE
        depends on BUILD_VGABIOS
        bool "Video BIOS Extensions (VBE)"
        default y
        help
            Support VBE.

    config VGA_PCI
        depends on BUILD_VGABIOS
        bool "PCI ROM Headers"
        default y
        help
            Build PCI ROM headers so the vga rom can be extracted from
            a PCI device.

    config OVERRIDE_PCI_ID
        depends on VGA_PCI
        bool "Override PCI Vendor and Device IDs"
        help
            Specify specific values for the PCI Vendor and Device IDs.

    config VGA_VID
        depends on VGA_PCI
        hex
        prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
        default 0x1013 if VGA_CIRRUS
        default 0x1234 if VGA_BOCHS
        default 0x100b if VGA_GEODEGX2
        default 0x1022 if VGA_GEODELX
        default 0x0000
        help
            Vendor ID for the PCI ROM

    config VGA_DID
        depends on VGA_PCI
        hex
        prompt "PCI Vendor ID" if OVERRIDE_PCI_ID
        default 0x00b8 if VGA_CIRRUS
        default 0x1111 if VGA_BOCHS
        default 0x0030 if VGA_GEODEGX2
        default 0x2081 if VGA_GEODELX
        default 0x0000
        help
            Device ID for the PCI ROM
endmenu
