aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos
diff options
context:
space:
mode:
authorThomas Abraham <thomas.abraham@linaro.org>2012-03-24 12:28:48 -0400
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2012-04-09 12:11:24 -0400
commit79d3c41ae444fb064cc8aab7cb249f577d6e0aae (patch)
tree3bb1e422478e9d0eb6065e56f7f9cafdb0a6d7e0 /arch/arm/mach-exynos
parent884924be2a3368a3ac96587f347f9973c80140f6 (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-exynos')
-rw-r--r--arch/arm/mach-exynos/mach-nuri.c26
-rw-r--r--arch/arm/mach-exynos/mach-origen.c24
-rw-r--r--arch/arm/mach-exynos/mach-smdkv310.c28
-rw-r--r--arch/arm/mach-exynos/mach-universal_c210.c26
4 files changed, 60 insertions, 44 deletions
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
index b3982c867c9c..e1e640e5b52a 100644
--- a/arch/arm/mach-exynos/mach-nuri.c
+++ b/arch/arm/mach-exynos/mach-nuri.c
@@ -214,25 +214,29 @@ static struct platform_device nuri_gpio_keys = {
214 214
215/* Frame Buffer */ 215/* Frame Buffer */
216static struct s3c_fb_pd_win nuri_fb_win0 = { 216static struct s3c_fb_pd_win nuri_fb_win0 = {
217 .win_mode = {
218 .left_margin = 64,
219 .right_margin = 16,
220 .upper_margin = 64,
221 .lower_margin = 1,
222 .hsync_len = 48,
223 .vsync_len = 3,
224 .xres = 1024,
225 .yres = 600,
226 .refresh = 60,
227 },
228 .max_bpp = 24, 217 .max_bpp = 24,
229 .default_bpp = 16, 218 .default_bpp = 16,
219 .xres = 1024,
220 .yres = 600,
230 .virtual_x = 1024, 221 .virtual_x = 1024,
231 .virtual_y = 2 * 600, 222 .virtual_y = 2 * 600,
232}; 223};
233 224
225static struct fb_videomode nuri_lcd_timing = {
226 .left_margin = 64,
227 .right_margin = 16,
228 .upper_margin = 64,
229 .lower_margin = 1,
230 .hsync_len = 48,
231 .vsync_len = 3,
232 .xres = 1024,
233 .yres = 600,
234 .refresh = 60,
235};
236
234static struct s3c_fb_platdata nuri_fb_pdata __initdata = { 237static struct s3c_fb_platdata nuri_fb_pdata __initdata = {
235 .win[0] = &nuri_fb_win0, 238 .win[0] = &nuri_fb_win0,
239 .vtiming = &nuri_lcd_timing,
236 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB | 240 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
237 VIDCON0_CLKSEL_LCD, 241 VIDCON0_CLKSEL_LCD,
238 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, 242 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index 878d4c99142d..0968ebaa01f5 100644
--- a/arch/arm/mach-exynos/mach-origen.c
+++ b/arch/arm/mach-exynos/mach-origen.c
@@ -584,22 +584,26 @@ static struct platform_device origen_lcd_hv070wsa = {
584}; 584};
585 585
586static struct s3c_fb_pd_win origen_fb_win0 = { 586static struct s3c_fb_pd_win origen_fb_win0 = {
587 .win_mode = { 587 .xres = 1024,
588 .left_margin = 64, 588 .yres = 600,
589 .right_margin = 16,
590 .upper_margin = 64,
591 .lower_margin = 16,
592 .hsync_len = 48,
593 .vsync_len = 3,
594 .xres = 1024,
595 .yres = 600,
596 },
597 .max_bpp = 32, 589 .max_bpp = 32,
598 .default_bpp = 24, 590 .default_bpp = 24,
599}; 591};
600 592
593static struct fb_videomode origen_lcd_timing = {
594 .left_margin = 64,
595 .right_margin = 16,
596 .upper_margin = 64,
597 .lower_margin = 16,
598 .hsync_len = 48,
599 .vsync_len = 3,
600 .xres = 1024,
601 .yres = 600,
602};
603
601static struct s3c_fb_platdata origen_lcd_pdata __initdata = { 604static struct s3c_fb_platdata origen_lcd_pdata __initdata = {
602 .win[0] = &origen_fb_win0, 605 .win[0] = &origen_fb_win0,
606 .vtiming = &origen_lcd_timing,
603 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, 607 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
604 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC | 608 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC |
605 VIDCON1_INV_VCLK, 609 VIDCON1_INV_VCLK,
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c
index 83b91fa777c1..3e482b8c3af8 100644
--- a/arch/arm/mach-exynos/mach-smdkv310.c
+++ b/arch/arm/mach-exynos/mach-smdkv310.c
@@ -161,22 +161,26 @@ static struct platform_device smdkv310_lcd_lte480wv = {
161}; 161};
162 162
163static struct s3c_fb_pd_win smdkv310_fb_win0 = { 163static struct s3c_fb_pd_win smdkv310_fb_win0 = {
164 .win_mode = { 164 .max_bpp = 32,
165 .left_margin = 13, 165 .default_bpp = 24,
166 .right_margin = 8, 166 .xres = 800,
167 .upper_margin = 7, 167 .yres = 480,
168 .lower_margin = 5, 168};
169 .hsync_len = 3, 169
170 .vsync_len = 1, 170static struct fb_videomode smdkv310_lcd_timing = {
171 .xres = 800, 171 .left_margin = 13,
172 .yres = 480, 172 .right_margin = 8,
173 }, 173 .upper_margin = 7,
174 .max_bpp = 32, 174 .lower_margin = 5,
175 .default_bpp = 24, 175 .hsync_len = 3,
176 .vsync_len = 1,
177 .xres = 800,
178 .yres = 480,
176}; 179};
177 180
178static struct s3c_fb_platdata smdkv310_lcd0_pdata __initdata = { 181static struct s3c_fb_platdata smdkv310_lcd0_pdata __initdata = {
179 .win[0] = &smdkv310_fb_win0, 182 .win[0] = &smdkv310_fb_win0,
183 .vtiming = &smdkv310_lcd_timing,
180 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, 184 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
181 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, 185 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
182 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp, 186 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c
index 6bb9dbdd73fd..879c539923cf 100644
--- a/arch/arm/mach-exynos/mach-universal_c210.c
+++ b/arch/arm/mach-exynos/mach-universal_c210.c
@@ -812,25 +812,29 @@ static struct i2c_board_info i2c1_devs[] __initdata = {
812 812
813/* Frame Buffer */ 813/* Frame Buffer */
814static struct s3c_fb_pd_win universal_fb_win0 = { 814static struct s3c_fb_pd_win universal_fb_win0 = {
815 .win_mode = {
816 .left_margin = 16,
817 .right_margin = 16,
818 .upper_margin = 2,
819 .lower_margin = 28,
820 .hsync_len = 2,
821 .vsync_len = 1,
822 .xres = 480,
823 .yres = 800,
824 .refresh = 55,
825 },
826 .max_bpp = 32, 815 .max_bpp = 32,
827 .default_bpp = 16, 816 .default_bpp = 16,
817 .xres = 480,
818 .yres = 800,
828 .virtual_x = 480, 819 .virtual_x = 480,
829 .virtual_y = 2 * 800, 820 .virtual_y = 2 * 800,
830}; 821};
831 822
823static struct fb_videomode universal_lcd_timing = {
824 .left_margin = 16,
825 .right_margin = 16,
826 .upper_margin = 2,
827 .lower_margin = 28,
828 .hsync_len = 2,
829 .vsync_len = 1,
830 .xres = 480,
831 .yres = 800,
832 .refresh = 55,
833};
834
832static struct s3c_fb_platdata universal_lcd_pdata __initdata = { 835static struct s3c_fb_platdata universal_lcd_pdata __initdata = {
833 .win[0] = &universal_fb_win0, 836 .win[0] = &universal_fb_win0,
837 .vtiming = &universal_lcd_timing,
834 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB | 838 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
835 VIDCON0_CLKSEL_LCD, 839 VIDCON0_CLKSEL_LCD,
836 .vidcon1 = VIDCON1_INV_VCLK | VIDCON1_INV_VDEN 840 .vidcon1 = VIDCON1_INV_VCLK | VIDCON1_INV_VDEN