Commit 6bba0caf authored by Sachin Kamat's avatar Sachin Kamat Committed by Kukjin Kim

ARM: EXYNOS: Add framebuffer support for SMDK4X12

This patch adds framebuffer support to SMDK4212 and SMDK4412 boards.
A framebuffer window of 480x800x24bpp is defined.
Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent a17b9855
...@@ -368,12 +368,14 @@ config MACH_SMDK4212 ...@@ -368,12 +368,14 @@ config MACH_SMDK4212
select S5P_DEV_FIMC1 select S5P_DEV_FIMC1
select S5P_DEV_FIMC2 select S5P_DEV_FIMC2
select S5P_DEV_FIMC3 select S5P_DEV_FIMC3
select S5P_DEV_FIMD0
select S5P_DEV_MFC select S5P_DEV_MFC
select SAMSUNG_DEV_BACKLIGHT select SAMSUNG_DEV_BACKLIGHT
select SAMSUNG_DEV_KEYPAD select SAMSUNG_DEV_KEYPAD
select SAMSUNG_DEV_PWM select SAMSUNG_DEV_PWM
select EXYNOS_DEV_SYSMMU select EXYNOS_DEV_SYSMMU
select EXYNOS_DEV_DMA select EXYNOS_DEV_DMA
select EXYNOS4_SETUP_FIMD0
select EXYNOS4_SETUP_I2C1 select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_I2C3 select EXYNOS4_SETUP_I2C3
select EXYNOS4_SETUP_I2C7 select EXYNOS4_SETUP_I2C7
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/lcd.h>
#include <linux/mfd/max8997.h> #include <linux/mfd/max8997.h>
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
...@@ -29,10 +30,12 @@ ...@@ -29,10 +30,12 @@
#include <plat/clock.h> #include <plat/clock.h>
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/devs.h> #include <plat/devs.h>
#include <plat/fb.h>
#include <plat/gpio-cfg.h> #include <plat/gpio-cfg.h>
#include <plat/iic.h> #include <plat/iic.h>
#include <plat/keypad.h> #include <plat/keypad.h>
#include <plat/mfc.h> #include <plat/mfc.h>
#include <plat/regs-fb.h>
#include <plat/regs-serial.h> #include <plat/regs-serial.h>
#include <plat/sdhci.h> #include <plat/sdhci.h>
...@@ -237,6 +240,34 @@ static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = { ...@@ -237,6 +240,34 @@ static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = {
.cols = 8, .cols = 8,
}; };
static struct s3c_fb_pd_win smdk4x12_fb_win0 = {
.xres = 480,
.yres = 800,
.virtual_x = 480,
.virtual_y = 800 * 2,
.max_bpp = 32,
.default_bpp = 24,
};
static struct fb_videomode smdk4x12_lcd_timing = {
.left_margin = 8,
.right_margin = 8,
.upper_margin = 6,
.lower_margin = 6,
.hsync_len = 6,
.vsync_len = 4,
.xres = 480,
.yres = 800,
};
static struct s3c_fb_platdata smdk4x12_lcd_pdata __initdata = {
.win[0] = &smdk4x12_fb_win0,
.vtiming = &smdk4x12_lcd_timing,
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
.vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
.setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
};
/* USB OTG */ /* USB OTG */
static struct s3c_hsotg_plat smdk4x12_hsotg_pdata; static struct s3c_hsotg_plat smdk4x12_hsotg_pdata;
...@@ -255,6 +286,7 @@ static struct platform_device *smdk4x12_devices[] __initdata = { ...@@ -255,6 +286,7 @@ static struct platform_device *smdk4x12_devices[] __initdata = {
&s5p_device_fimc2, &s5p_device_fimc2,
&s5p_device_fimc3, &s5p_device_fimc3,
&s5p_device_fimc_md, &s5p_device_fimc_md,
&s5p_device_fimd0,
&s5p_device_mfc, &s5p_device_mfc,
&s5p_device_mfc_l, &s5p_device_mfc_l,
&s5p_device_mfc_r, &s5p_device_mfc_r,
...@@ -302,6 +334,8 @@ static void __init smdk4x12_machine_init(void) ...@@ -302,6 +334,8 @@ static void __init smdk4x12_machine_init(void)
s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata); s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata);
s5p_fimd0_set_platdata(&smdk4x12_lcd_pdata);
platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices)); platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment