#
# Geode family framebuffer configuration
#
config FB_GEODE
	bool "AMD Geode family framebuffer support (EXPERIMENTAL)"
	depends on FB && PCI && EXPERIMENTAL && X86
	---help---
	  Say 'Y' here to allow you to select framebuffer drivers for
	  the AMD Geode family of processors.

config FB_GEODE_GX
	tristate "AMD Geode GX framebuffer support (EXPERIMENTAL)"
	depends on FB && FB_GEODE && EXPERIMENTAL
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	---help---
	  Framebuffer driver for the display controller integrated into the
	  AMD Geode GX processors.

	  To compile this driver as a module, choose M here: the module will be
	  called gxfb.

	  If unsure, say N.

config FB_GEODE_GX1
	tristate "AMD Geode GX1 framebuffer support (EXPERIMENTAL)"
	depends on FB && FB_GEODE && EXPERIMENTAL
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	---help---
	  Framebuffer driver for the display controller integrated into the
	  AMD Geode GX1 processor.

	  To compile this driver as a module, choose M here: the module will be
	  called gx1fb.

	  If unsure, say N.
