ARM: EXYNOS4: enable frame buffer on Universal C210 board
This patch adds platform definitions to enable s3c-fb driver. Framebuffer window with 480x800x16bpp mode has been defined. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
3c76669998
commit
f3f5bfe234
2 changed files with 36 additions and 0 deletions
|
@ -178,6 +178,7 @@ config MACH_UNIVERSAL_C210
|
||||||
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 S3C_DEV_HSMMC
|
select S3C_DEV_HSMMC
|
||||||
select S3C_DEV_HSMMC2
|
select S3C_DEV_HSMMC2
|
||||||
select S3C_DEV_HSMMC3
|
select S3C_DEV_HSMMC3
|
||||||
|
@ -187,6 +188,7 @@ config MACH_UNIVERSAL_C210
|
||||||
select S5P_DEV_MFC
|
select S5P_DEV_MFC
|
||||||
select S5P_DEV_ONENAND
|
select S5P_DEV_ONENAND
|
||||||
select EXYNOS4_DEV_PD
|
select EXYNOS4_DEV_PD
|
||||||
|
select EXYNOS4_SETUP_FIMD0
|
||||||
select EXYNOS4_SETUP_I2C1
|
select EXYNOS4_SETUP_I2C1
|
||||||
select EXYNOS4_SETUP_I2C3
|
select EXYNOS4_SETUP_I2C3
|
||||||
select EXYNOS4_SETUP_I2C5
|
select EXYNOS4_SETUP_I2C5
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
#include <linux/gpio_keys.h>
|
#include <linux/gpio_keys.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/fb.h>
|
||||||
#include <linux/mfd/max8998.h>
|
#include <linux/mfd/max8998.h>
|
||||||
#include <linux/regulator/machine.h>
|
#include <linux/regulator/machine.h>
|
||||||
#include <linux/regulator/fixed.h>
|
#include <linux/regulator/fixed.h>
|
||||||
|
@ -31,9 +32,11 @@
|
||||||
#include <plat/devs.h>
|
#include <plat/devs.h>
|
||||||
#include <plat/iic.h>
|
#include <plat/iic.h>
|
||||||
#include <plat/gpio-cfg.h>
|
#include <plat/gpio-cfg.h>
|
||||||
|
#include <plat/fb.h>
|
||||||
#include <plat/mfc.h>
|
#include <plat/mfc.h>
|
||||||
#include <plat/sdhci.h>
|
#include <plat/sdhci.h>
|
||||||
#include <plat/pd.h>
|
#include <plat/pd.h>
|
||||||
|
#include <plat/regs-fb-v4.h>
|
||||||
|
|
||||||
#include <mach/map.h>
|
#include <mach/map.h>
|
||||||
|
|
||||||
|
@ -702,6 +705,32 @@ static struct i2c_board_info i2c1_devs[] __initdata = {
|
||||||
/* Gyro, To be updated */
|
/* Gyro, To be updated */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Frame Buffer */
|
||||||
|
static struct s3c_fb_pd_win universal_fb_win0 = {
|
||||||
|
.win_mode = {
|
||||||
|
.left_margin = 16,
|
||||||
|
.right_margin = 16,
|
||||||
|
.upper_margin = 2,
|
||||||
|
.lower_margin = 28,
|
||||||
|
.hsync_len = 2,
|
||||||
|
.vsync_len = 1,
|
||||||
|
.xres = 480,
|
||||||
|
.yres = 800,
|
||||||
|
.refresh = 55,
|
||||||
|
},
|
||||||
|
.max_bpp = 32,
|
||||||
|
.default_bpp = 16,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct s3c_fb_platdata universal_lcd_pdata __initdata = {
|
||||||
|
.win[0] = &universal_fb_win0,
|
||||||
|
.vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB |
|
||||||
|
VIDCON0_CLKSEL_LCD,
|
||||||
|
.vidcon1 = VIDCON1_INV_VCLK | VIDCON1_INV_VDEN
|
||||||
|
| VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
|
||||||
|
.setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device *universal_devices[] __initdata = {
|
static struct platform_device *universal_devices[] __initdata = {
|
||||||
/* Samsung Platform Devices */
|
/* Samsung Platform Devices */
|
||||||
&s5p_device_fimc0,
|
&s5p_device_fimc0,
|
||||||
|
@ -719,10 +748,12 @@ static struct platform_device *universal_devices[] __initdata = {
|
||||||
&i2c_gpio12,
|
&i2c_gpio12,
|
||||||
&universal_gpio_keys,
|
&universal_gpio_keys,
|
||||||
&s5p_device_onenand,
|
&s5p_device_onenand,
|
||||||
|
&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,
|
||||||
&exynos4_device_pd[PD_MFC],
|
&exynos4_device_pd[PD_MFC],
|
||||||
|
&exynos4_device_pd[PD_LCD0],
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init universal_map_io(void)
|
static void __init universal_map_io(void)
|
||||||
|
@ -751,6 +782,8 @@ static void __init universal_machine_init(void)
|
||||||
s3c_i2c5_set_platdata(NULL);
|
s3c_i2c5_set_platdata(NULL);
|
||||||
i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs));
|
i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs));
|
||||||
|
|
||||||
|
s5p_fimd0_set_platdata(&universal_lcd_pdata);
|
||||||
|
|
||||||
universal_touchkey_init();
|
universal_touchkey_init();
|
||||||
i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs,
|
i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs,
|
||||||
ARRAY_SIZE(i2c_gpio12_devs));
|
ARRAY_SIZE(i2c_gpio12_devs));
|
||||||
|
@ -758,6 +791,7 @@ static void __init universal_machine_init(void)
|
||||||
/* Last */
|
/* Last */
|
||||||
platform_add_devices(universal_devices, ARRAY_SIZE(universal_devices));
|
platform_add_devices(universal_devices, ARRAY_SIZE(universal_devices));
|
||||||
s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev;
|
s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev;
|
||||||
|
s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
|
MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
|
||||||
|
|
Loading…
Add table
Reference in a new issue