2010-01-29 12:02:12 +03:00
/* arch/arm/plat-samsung/include/plat/fb.h
2008-11-19 18:41:30 +03:00
*
* Copyright 2008 Openmoko , Inc .
* Copyright 2008 Simtec Electronics
* http : //armlinux.simtec.co.uk/
* Ben Dooks < ben @ simtec . co . uk >
*
* S3C - FB platform data definitions
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*/
# ifndef __PLAT_S3C_FB_H
# define __PLAT_S3C_FB_H __FILE__
2010-05-13 09:44:50 +04:00
/* S3C_FB_MAX_WIN
* Set to the maximum number of windows that any of the supported hardware
* can use . Since the platform data uses this for an array size , having it
* set to the maximum of any version of the hardware can do is safe .
*/
# define S3C_FB_MAX_WIN (5)
2008-11-19 18:41:30 +03:00
/**
* struct s3c_fb_pd_win - per window setup data
2012-03-24 20:28:45 +04:00
* @ xres : The window X size .
* @ yres : The window Y size .
2008-11-19 18:41:30 +03:00
* @ virtual_x : The virtual X size .
* @ virtual_y : The virtual Y size .
*/
struct s3c_fb_pd_win {
unsigned short default_bpp ;
unsigned short max_bpp ;
2012-03-24 20:28:45 +04:00
unsigned short xres ;
unsigned short yres ;
2008-11-19 18:41:30 +03:00
unsigned short virtual_x ;
unsigned short virtual_y ;
} ;
/**
* struct s3c_fb_platdata - S3C driver platform specific information
* @ setup_gpio : Setup the external GPIO pins to the right state to transfer
* the data from the display system to the connected display
* device .
* @ vidcon0 : The base vidcon0 values to control the panel data format .
* @ vidcon1 : The base vidcon1 values to control the panel data output .
2012-03-24 20:28:45 +04:00
* @ vtiming : Video timing when connected to a RGB type panel .
2008-11-19 18:41:30 +03:00
* @ win : The setup data for each hardware window , or NULL for unused .
* @ display_mode : The LCD output display mode .
*
* The platform data supplies the video driver with all the information
* it requires to work with the display ( s ) attached to the machine . It
* controls the initial mode , the number of display windows ( 0 is always
* the base framebuffer ) that are initialised etc .
*
*/
struct s3c_fb_platdata {
void ( * setup_gpio ) ( void ) ;
struct s3c_fb_pd_win * win [ S3C_FB_MAX_WIN ] ;
2012-03-24 20:28:45 +04:00
struct fb_videomode * vtiming ;
2008-11-19 18:41:30 +03:00
u32 vidcon0 ;
u32 vidcon1 ;
} ;
/**
* s3c_fb_set_platdata ( ) - Setup the FB device with platform data .
* @ pd : The platform data to set . The data is copied from the passed structure
* so the machine data can mark the data __initdata so that any unused
* machines will end up dumping their data at runtime .
*/
extern void s3c_fb_set_platdata ( struct s3c_fb_platdata * pd ) ;
2011-07-21 10:46:26 +04:00
/**
* s5p_fimd0_set_platdata ( ) - Setup the FB device with platform data .
* @ pd : The platform data to set . The data is copied from the passed structure
* so the machine data can mark the data __initdata so that any unused
* machines will end up dumping their data at runtime .
*/
extern void s5p_fimd0_set_platdata ( struct s3c_fb_platdata * pd ) ;
2008-11-19 18:41:30 +03:00
/**
* s3c64xx_fb_gpio_setup_24bpp ( ) - S3C64XX setup function for 24 bpp LCD
*
* Initialise the GPIO for an 24 bpp LCD display on the RGB interface .
*/
extern void s3c64xx_fb_gpio_setup_24bpp ( void ) ;
2009-11-17 10:41:19 +03:00
/**
* s5pc100_fb_gpio_setup_24bpp ( ) - S5PC100 setup function for 24 bpp LCD
*
* Initialise the GPIO for an 24 bpp LCD display on the RGB interface .
*/
extern void s5pc100_fb_gpio_setup_24bpp ( void ) ;
2010-05-20 10:13:04 +04:00
/**
* s5pv210_fb_gpio_setup_24bpp ( ) - S5PV210 / S5PC110 setup function for 24 bpp LCD
*
* Initialise the GPIO for an 24 bpp LCD display on the RGB interface .
*/
extern void s5pv210_fb_gpio_setup_24bpp ( void ) ;
2011-07-21 10:46:26 +04:00
/**
* exynos4_fimd0_gpio_setup_24bpp ( ) - Exynos4 setup function for 24 bpp LCD0
*
* Initialise the GPIO for an 24 bpp LCD display on the RGB interface 0.
*/
extern void exynos4_fimd0_gpio_setup_24bpp ( void ) ;
2011-09-27 02:46:57 +04:00
/**
* s5p64x0_fb_gpio_setup_24bpp ( ) - S5P6440 / S5P6450 setup function for 24 bpp LCD
*
* Initialise the GPIO for an 24 bpp LCD display on the RGB interface .
*/
extern void s5p64x0_fb_gpio_setup_24bpp ( void ) ;
2008-11-19 18:41:30 +03:00
# endif /* __PLAT_S3C_FB_H */