config MSM_STAGING
	tristate "MSM Frame Buffer Support"
	depends on FB && ARCH_MSM && !FB_MSM
	select FB_BACKLIGHT if FB_MSM_BACKLIGHT
	select NEW_LEDS
	select LEDS_CLASS
	select FB_CFB_FILLRECT
	select FB_CFB_COPYAREA
	select FB_CFB_IMAGEBLIT
	---help---
	  Support for MSM Framebuffer.

if MSM_STAGING

config FB_MSM_LCDC_HW
	bool
	default n

choice
	prompt "MDP HW version"
	default FB_MSM_MDP31

config FB_MSM_MDP31
	select FB_MSM_LCDC_HW
	bool "MDP HW ver3.1"
	---help---
	  Support for MSM MDP HW revision 3.1
	  Say Y here if this is msm8x50 variant platform.
endchoice

config FB_MSM_LCDC
	bool
	default n

config FB_MSM_TVOUT
	bool
	default n

config FB_MSM_LCDC_PANEL
	bool
	select FB_MSM_LCDC
	default n

config FB_MSM_LCDC_PRISM_WVGA
        bool
	select FB_MSM_LCDC_PANEL
	default n

config FB_MSM_LCDC_ST15_WXGA
        bool
        select FB_MSM_LCDC_PANEL
        default n

choice
	prompt "LCD Panel"
	default FB_MSM_LCDC_ST15_PANEL

config FB_MSM_LCDC_PRISM_WVGA_PANEL
	depends on FB_MSM_LCDC_HW
	bool "LCDC Prism WVGA Panel"
	select FB_MSM_LCDC_PRISM_WVGA
	---help---
	  Support for LCDC Prism WVGA (800x480) panel


config FB_MSM_LCDC_ST15_PANEL
        depends on FB_MSM_LCDC_HW
        bool "LCDC ST1.5 Panel"
        select FB_MSM_LCDC_ST15_WXGA
        ---help---
          Support for ST1.5 WXGA (1366x768) panel

config FB_MSM_PANEL_NONE
	bool "NONE"
	---help---
	  This will disable LCD panel
endchoice

choice
	prompt "Secondary LCD Panel"
	depends on  FB_MSM_MDP31
	default FB_MSM_SECONDARY_PANEL_NONE

config FB_MSM_SECONDARY_PANEL_NONE
	bool "NONE"
	---help---
	  No secondary panel
endchoice

config FB_MSM_TVOUT_NTSC
	bool
	select FB_MSM_TVOUT
	default n

config FB_MSM_TVOUT_PAL
	bool
	select FB_MSM_TVOUT
	default n

choice
	depends on  (FB_MSM_MDP22 || FB_MSM_MDP31)
	prompt "TVOut Region"
	default FB_MSM_TVOUT_NTSC_M

config FB_MSM_TVOUT_NTSC_M
	bool "NTSC M"
	select FB_MSM_TVOUT_NTSC
	---help---
	  Support for NTSC M region (North American and Korea)

config FB_MSM_TVOUT_NONE
	bool "NONE"
	---help---
	  This will disable TV Out functionality.
endchoice

config PMEM_KERNEL_SIZE
        int "PMEM for kernel components (in MB)"
        default 2
        depends on ARCH_QSD8X50
        help
          Configures the amount of PMEM for use by kernel components
          (in MB; minimum 2MB)
endif
