diff options
author | Thomas Abraham <thomas.abraham@linaro.org> | 2012-03-24 12:28:48 -0400 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2012-04-09 12:11:24 -0400 |
commit | 79d3c41ae444fb064cc8aab7cb249f577d6e0aae (patch) | |
tree | 3bb1e422478e9d0eb6065e56f7f9cafdb0a6d7e0 /arch/arm/mach-s3c64xx/mach-real6410.c | |
parent | 884924be2a3368a3ac96587f347f9973c80140f6 (diff) |
ARM: Samsung: Rework platform data of s3c-fb driver
For all the Samsung SoC based boards which have the platform data for
s3c-fb driver, the 'default_win' element in the platform data is removed
and the lcd panel video timing values are moved out of individual window
configuration data.
Acked-by: Jingoo Han <jg1.han@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: JeongHyeon Kim <jhkim@insignal.co.kr>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Kwangwoo Lee <kwangwoo.lee@gmail.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Peter Korsgaard <jacmet@sunsite.dk>
Cc: Darius Augulis <augulis.darius@gmail.com>
Cc: Maurus Cuelenaere <mcuelenaere@gmail.com>
Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Diffstat (limited to 'arch/arm/mach-s3c64xx/mach-real6410.c')
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-real6410.c | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c index 21f91e5b093d..0fbd32c74ee5 100644 --- a/arch/arm/mach-s3c64xx/mach-real6410.c +++ b/arch/arm/mach-s3c64xx/mach-real6410.c | |||
@@ -118,43 +118,51 @@ static struct platform_device real6410_device_eth = { | |||
118 | }; | 118 | }; |
119 | 119 | ||
120 | static struct s3c_fb_pd_win real6410_lcd_type0_fb_win = { | 120 | static struct s3c_fb_pd_win real6410_lcd_type0_fb_win = { |
121 | .win_mode = { /* 4.3" 480x272 */ | ||
122 | .left_margin = 3, | ||
123 | .right_margin = 2, | ||
124 | .upper_margin = 1, | ||
125 | .lower_margin = 1, | ||
126 | .hsync_len = 40, | ||
127 | .vsync_len = 1, | ||
128 | .xres = 480, | ||
129 | .yres = 272, | ||
130 | }, | ||
131 | .max_bpp = 32, | 121 | .max_bpp = 32, |
132 | .default_bpp = 16, | 122 | .default_bpp = 16, |
123 | .xres = 480, | ||
124 | .yres = 272, | ||
125 | }; | ||
126 | |||
127 | static struct fb_videomode real6410_lcd_type0_timing = { | ||
128 | /* 4.3" 480x272 */ | ||
129 | .left_margin = 3, | ||
130 | .right_margin = 2, | ||
131 | .upper_margin = 1, | ||
132 | .lower_margin = 1, | ||
133 | .hsync_len = 40, | ||
134 | .vsync_len = 1, | ||
133 | }; | 135 | }; |
134 | 136 | ||
135 | static struct s3c_fb_pd_win real6410_lcd_type1_fb_win = { | 137 | static struct s3c_fb_pd_win real6410_lcd_type1_fb_win = { |
136 | .win_mode = { /* 7.0" 800x480 */ | ||
137 | .left_margin = 8, | ||
138 | .right_margin = 13, | ||
139 | .upper_margin = 7, | ||
140 | .lower_margin = 5, | ||
141 | .hsync_len = 3, | ||
142 | .vsync_len = 1, | ||
143 | .xres = 800, | ||
144 | .yres = 480, | ||
145 | }, | ||
146 | .max_bpp = 32, | 138 | .max_bpp = 32, |
147 | .default_bpp = 16, | 139 | .default_bpp = 16, |
140 | .xres = 800, | ||
141 | .yres = 480, | ||
142 | }; | ||
143 | |||
144 | static struct fb_videomode real6410_lcd_type1_timing = { | ||
145 | /* 7.0" 800x480 */ | ||
146 | .left_margin = 8, | ||
147 | .right_margin = 13, | ||
148 | .upper_margin = 7, | ||
149 | .lower_margin = 5, | ||
150 | .hsync_len = 3, | ||
151 | .vsync_len = 1, | ||
152 | .xres = 800, | ||
153 | .yres = 480, | ||
148 | }; | 154 | }; |
149 | 155 | ||
150 | static struct s3c_fb_platdata real6410_lcd_pdata[] __initdata = { | 156 | static struct s3c_fb_platdata real6410_lcd_pdata[] __initdata = { |
151 | { | 157 | { |
152 | .setup_gpio = s3c64xx_fb_gpio_setup_24bpp, | 158 | .setup_gpio = s3c64xx_fb_gpio_setup_24bpp, |
159 | .vtiming = &real6410_lcd_type0_timing, | ||
153 | .win[0] = &real6410_lcd_type0_fb_win, | 160 | .win[0] = &real6410_lcd_type0_fb_win, |
154 | .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, | 161 | .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, |
155 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, | 162 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, |
156 | }, { | 163 | }, { |
157 | .setup_gpio = s3c64xx_fb_gpio_setup_24bpp, | 164 | .setup_gpio = s3c64xx_fb_gpio_setup_24bpp, |
165 | .vtiming = &real6410_lcd_type1_timing, | ||
158 | .win[0] = &real6410_lcd_type1_fb_win, | 166 | .win[0] = &real6410_lcd_type1_fb_win, |
159 | .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, | 167 | .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, |
160 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, | 168 | .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, |
@@ -297,8 +305,8 @@ static void __init real6410_machine_init(void) | |||
297 | real6410_parse_features(&features, real6410_features_str); | 305 | real6410_parse_features(&features, real6410_features_str); |
298 | 306 | ||
299 | printk(KERN_INFO "REAL6410: selected LCD display is %dx%d\n", | 307 | printk(KERN_INFO "REAL6410: selected LCD display is %dx%d\n", |
300 | real6410_lcd_pdata[features.lcd_index].win[0]->win_mode.xres, | 308 | real6410_lcd_pdata[features.lcd_index].win[0]->xres, |
301 | real6410_lcd_pdata[features.lcd_index].win[0]->win_mode.yres); | 309 | real6410_lcd_pdata[features.lcd_index].win[0]->yres); |
302 | 310 | ||
303 | s3c_fb_set_platdata(&real6410_lcd_pdata[features.lcd_index]); | 311 | s3c_fb_set_platdata(&real6410_lcd_pdata[features.lcd_index]); |
304 | s3c_nand_set_platdata(&real6410_nand_info); | 312 | s3c_nand_set_platdata(&real6410_nand_info); |