Archive

Posts Tagged ‘samsung’

5PC2XX: Rename S5pc2XX to exynos

March 16th, 2012 No comments

最新的Samsung的 Cortex-A9 和Cortex-A15的目录分别改为Exynos4和Exynos5, 简单记录一下,以免忘记。

As per new naming convention for Samsung SoC’s, all Cortex-A9 and Cortex-A15
based SoC’s will be classified under the name Exynos. Cortex-A9 and Cortex-A15
based SoC’s will be sub-classified as Exynos4 and Exynos5 respectively.

In order to better adapt and reuse code across various upcoming Samsung Exynos
based boards, all uses of s5pc210 prefix/suffix/directory-names are renamed in
this patch. s5pc210 is renamed as exynos4210 and S5PC210/s5pc210 suffix/prefix
are renamed as exynos4/EXYNOS4.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
---
Changes for v2:
       - Removed renaming of s5p-common to exynos4-common
       - Renamed s5pc210 prefixes to exynos4210
Changes for v3:
       - Dropped number 4 in exenos4.
 
Rebased on following commit.
19cdfd3e84bff108febb127b598ac3f1634c768c
"Ethernut 5 board support"
 
 MAINTAINERS                                        |    6 +-
 Makefile                                           |    2 +-
 arch/arm/cpu/armv7/{s5pc2xx => exynos}/Makefile    |    0
 arch/arm/cpu/armv7/{s5pc2xx => exynos}/clock.c     |   50 ++++++++--------
 arch/arm/cpu/armv7/{s5pc2xx => exynos}/soc.c       |    0
 .../asm/{arch-s5pc2xx => arch-exynos}/adc.h        |    0
 .../asm/{arch-s5pc2xx => arch-exynos}/clk.h        |    0
 .../asm/{arch-s5pc2xx => arch-exynos}/clock.h      |    2 +-
 .../asm/{arch-s5pc2xx => arch-exynos}/cpu.h        |   64 ++++++++++----------
 .../asm/{arch-s5pc2xx => arch-exynos}/gpio.h       |   28 ++++----
 .../asm/{arch-s5pc2xx => arch-exynos}/mmc.h        |    0
 .../asm/{arch-s5pc2xx => arch-exynos}/pwm.h        |    0
 .../asm/{arch-s5pc2xx => arch-exynos}/sromc.h      |    0
 .../asm/{arch-s5pc2xx => arch-exynos}/sys_proto.h  |    0
 .../asm/{arch-s5pc2xx => arch-exynos}/uart.h       |    0
 board/samsung/origen/lowlevel_init.S               |   26 ++++----
 board/samsung/origen/mem_setup.S                   |   12 ++--
 board/samsung/origen/origen.c                      |    8 +-
 board/samsung/origen/origen_setup.h                |    8 +-
 board/samsung/smdkv310/lowlevel_init.S             |   22 ++++----
 board/samsung/smdkv310/mem_setup.S                 |    8 +-
 board/samsung/smdkv310/smdkv310.c                  |    8 +-
 board/samsung/universal_c210/lowlevel_init.S       |   24 ++++----
 board/samsung/universal_c210/universal.c           |    8 +-
 boards.cfg                                         |    6 +-
 include/configs/origen.h                           |    6 +-
 include/configs/s5pc210_universal.h                |   10 ++--
 include/configs/smdkv310.h                         |    6 +-
 28 files changed, 152 insertions(+), 152 deletions(-)
 rename arch/arm/cpu/armv7/{s5pc2xx => exynos}/Makefile (100%)
 rename arch/arm/cpu/armv7/{s5pc2xx => exynos}/clock.c (81%)
 rename arch/arm/cpu/armv7/{s5pc2xx => exynos}/soc.c (100%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/adc.h (100%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/clk.h (100%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/clock.h (99%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/cpu.h (64%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/gpio.h (84%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/mmc.h (100%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/pwm.h (100%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/sromc.h (100%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/sys_proto.h (100%)
 rename arch/arm/include/asm/{arch-s5pc2xx => arch-exynos}/uart.h (100%)
 
diff --git a/MAINTAINERS b/MAINTAINERS
index 37bbb34..d493e4e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -691,12 +691,12 @@ Minkyu Kang <mk7.kang@samsung.com>
 
       SMDKC100                ARM ARMV7 (S5PC100 SoC)
       s5p_goni                ARM ARMV7 (S5PC110 SoC)
-       s5pc210_universal       ARM ARMV7 (S5PC210 SoC)
+       s5pc210_universal       ARM ARMV7 (EXYNOS4210 SoC)
 
 Chander Kashyap <k.chander@samsung.com>
 
-       origen                  ARM ARMV7 (S5PC210 SoC)
-       SMDKV310                ARM ARMV7 (S5PC210 SoC)
+       origen                  ARM ARMV7 (EXYNOS4210 SoC)
+       SMDKV310                ARM ARMV7 (EXYNOS4210 SoC)
.
.
.

From: linaro-dev@lists.linaro.org
Source: http://lists.linaro.org/pipermail/linaro-dev/2011-December/009015.html

–EOF–

GT-P6800 Kernel Building Error missing terminating ” character

March 16th, 2012 No comments

从三星的https://opensource.samsung.com下载了GT-6800的源码,自己编译了一下,结果Kernel出了个奇怪的错误: ‘error: missing terminating ” character’ 和 ‘error: expected expression before ‘)’ token’, 在网上搜了一圈找到一个解决方法,是因为系统使用的是中文,如果设在为英文环境就好了。

具体错误信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
border@b0rder:/bvcom/P6800/GT-P6800_CHN_HC_Opensource/GT-P6800_CHN_Kernel$ make c210_p8_rev01_defconfig
border@b0rder:/bvcom/P6800/GT-P6800_CHN_HC_Opensource/GT-P6800_CHN_Kernel$ make
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: “include/generated/mach-types.h”是最新的。
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      drivers/media/video/samsung/mali/common/mali_kernel_core.o
arm-none-linux-gnueabi-gcc: ": No such file or directory
<command-line>:0: warning: missing terminating " character
drivers/media/video/samsung/mali/common/mali_kernel_core.c: In function 'mali_kernel_constructor':
drivers/media/video/samsung/mali/common/mali_kernel_core.c:172: error: missing terminating " character
drivers/media/video/samsung/mali/common/mali_kernel_core.c:172: error: expected expression before ')' token
make[5]: *** [drivers/media/video/samsung/mali/common/mali_kernel_core.o] 错误 1
make[4]: *** [drivers/media/video/samsung/mali] 错误 2
make[3]: *** [drivers/media/video/samsung] 错误 2
make[2]: *** [drivers/media/video] 错误 2
make[1]: *** [drivers/media] 错误 2
make: *** [drivers] 错误 2

查看一下 drivers/media/video/samsung/mali/common/mali_kernel_core.c 的代码和宏:

1
2
3
4
5
6
    err  = initialize_subsystems();
    if (_MALI_OSK_ERR_OK != err) goto error3;
 
    MALI_PRINT(("Mali device driver %s loaded\n", SVN_REV_STRING));   // 172 line
 
    MALI_SUCCESS;

宏:

1
2
3
4
#define MALI_PRINT(args) do{ \
	MALI_PRINTF(("Mali: ")); \
	MALI_PRINTF(args); \
	} while (0)

看代码没有什么问题, 参考了这里的解决方法: http://bbs.chinaunix.net/thread-2317413-1-1.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
border@b0rder:/bvcom/P6800/GT-P6800_CHN_HC_Opensource/GT-P6800_CHN_Kernel$ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:en
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
 
border@b0rder:/bvcom/P6800/GT-P6800_CHN_HC_Opensource/GT-P6800_CHN_Kernel$ export LANG=en_US.UTF-8
border@b0rder:/bvcom/P6800/GT-P6800_CHN_HC_Opensource/GT-P6800_CHN_Kernel$ export LANGUAGE=en_US:en
 
border@b0rder:/bvcom/P6800/GT-P6800_CHN_HC_Opensource/GT-P6800_CHN_Kernel$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C

重新设置了locale,就可以正常编译通过了,真是奇怪。

参考: http://bbs.chinaunix.net/thread-2317413-1-1.html

–EOF–

Linux LCD驱动移植笔记

March 12th, 2012 No comments

由于项目的需要移植了一个Citizen的0.46英寸的LCD, 很久没有移植LCD驱动了,简单记录一下,避免时间长了忘记怎么改.
主要修改了一下几个文件:
.config | 5 +-
arch/arm/mach-s5pv210/mach-smdkc110.c | 150 ++++++++++-
drivers/video/samsung/Kconfig | 9 ++-
drivers/video/samsung/Makefile | 1 +
drivers/video/samsung/s3cfb.c | 10 ++
drivers/video/samsung/s3cfb_flocs600.c | 46 ++++++++++

1. .config
在make menuconfig里面选中我们移植好的flocs600选项

2. mach-smdkc110.c
主要定义LCD的分辨率,LCD初始化信息以及GPIO管脚的配置,lcd电源,背光等想设置信息。

3. Kconfig, Makefile
在make menuconfig中增加flocs600选项

4. s3cfb.c
WIN0 在uboot中使用了,但是为了保持uboot的logo显示,所以uboot不关闭win0但是 如果不关闭win0,会导致播放视频和camera preview花屏。

5. s3cfb_flocs600.c
lcd实际的驱动

大概就改这些东西,由于板子还没有回来,没有实际测试,估计在实际调整的时候需要再配置timing.

详细patch如下:

From 49e15e380f2b9c779ad7cad2bd7544ef506aa17f Mon Sep 17 00:00:00 2001
From: Bian Jiang
Date: Mon, 12 Mar 2012 18:26:32 +0800
Subject: [PATCH] LCD: Porting Citizen FL0904 0.46" SVGA flocs600
 
---
 .config                                |    5 +-
 arch/arm/mach-s5pv210/mach-smdkc110.c  |  150 +++++++++++++++++++++++++++++++-
 drivers/video/samsung/Kconfig          |    9 ++-
 drivers/video/samsung/Makefile         |    1 +
 drivers/video/samsung/s3cfb.c          |   10 ++
 drivers/video/samsung/s3cfb_flocs600.c |   46 ++++++++++
 6 files changed, 217 insertions(+), 4 deletions(-)
 create mode 100644 drivers/video/samsung/s3cfb_flocs600.c
 
diff --git a/.config b/.config
index 29d2580..d75abfc 100644
--- a/.config
+++ b/.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.35.7
-# Thu Mar  8 16:22:49 2012
+# Mon Mar 12 18:14:42 2012
 #
 CONFIG_ARM=y
 CONFIG_HAVE_PWM=y
@@ -1608,7 +1608,8 @@ CONFIG_FB_S3C_LCD_INIT=y
 CONFIG_FB_S3C_DEFAULT_WINDOW=2
 CONFIG_FB_S3C_NR_BUFFERS=4
 # CONFIG_FB_S3C_VIRTUAL is not set
-CONFIG_FB_S3C_LTE480WV=y
+CONFIG_FB_S3C_FLOCS600=y
+# CONFIG_FB_S3C_LTE480WV is not set
 # CONFIG_FB_S3C_HT101HD1 is not set
 # CONFIG_FB_S3C_TL2796 is not set
 # CONFIG_FB_S3C_LVDS is not set
diff --git a/arch/arm/mach-s5pv210/mach-smdkc110.c b/arch/arm/mach-s5pv210/mach-smdkc110.c
index deb377a..40273c9 100644
--- a/arch/arm/mach-s5pv210/mach-smdkc110.c
+++ b/arch/arm/mach-s5pv210/mach-smdkc110.c
@@ -164,7 +164,9 @@ static struct s3c2410_uartcfg smdkc110_uartcfgs[] __initdata = {
 };
 
 #define S5PV210_LCD_WIDTH 800
-#define S5PV210_LCD_HEIGHT 480
+//#define S5PV210_LCD_HEIGHT 480
+/* Change For Citizen SVGA-Flocs FL0904 By: Bian Jiang 2012.3.12 */
+#define S5PV210_LCD_HEIGHT 600
 
 //#define  S5PV210_VIDEO_SAMSUNG_MEMSIZE_FIMC0 (6144 * SZ_1K)
 #define  S5PV210_VIDEO_SAMSUNG_MEMSIZE_FIMC0 (24576 * SZ_1K)
@@ -837,6 +839,147 @@ static struct s3c_platform_fb lte480wv_fb_data __initdata = {
 };
 #endif
 
+#ifdef CONFIG_FB_S3C_FLOCS600
+/* Citizen FL0904 0.46" flocs600 Add By: Bian Jiang 2012.3.12 */
+static struct s3cfb_lcd flocs600 = {
+	.width = S5PV210_LCD_WIDTH,
+	.height = S5PV210_LCD_HEIGHT,
+	.bpp = 32,
+	.freq = 60,
+
+	.timing = {
+		.h_fp = 8,
+		.h_bp = 13,
+		.h_sw = 3,
+		.v_fp = 5,
+		.v_fpe = 1,
+		.v_bp = 7,
+		.v_bpe = 1,
+		.v_sw = 1,
+	},
+	.polarity = {
+		.rise_vclk = 0,
+		.inv_hsync = 1,
+		.inv_vsync = 1,
+		.inv_vden = 0,
+	},
+};
+
+static void flocs600_cfg_gpio(struct platform_device *pdev)
+{
+	int i;
+
+	for (i = 0; i &lt; 8; i++) {
+		s3c_gpio_cfgpin(S5PV210_GPF0(i), S3C_GPIO_SFN(2));
+		s3c_gpio_setpull(S5PV210_GPF0(i), S3C_GPIO_PULL_NONE);
+	}
+
+	for (i = 0; i &lt; 8; i++) {
+		s3c_gpio_cfgpin(S5PV210_GPF1(i), S3C_GPIO_SFN(2));
+		s3c_gpio_setpull(S5PV210_GPF1(i), S3C_GPIO_PULL_NONE);
+	}
+
+	for (i = 0; i &lt; 8; i++) {
+		s3c_gpio_cfgpin(S5PV210_GPF2(i), S3C_GPIO_SFN(2));
+		s3c_gpio_setpull(S5PV210_GPF2(i), S3C_GPIO_PULL_NONE);
+	}
+
+	for (i = 0; i &lt; 4; i++) {
+		s3c_gpio_cfgpin(S5PV210_GPF3(i), S3C_GPIO_SFN(2));
+		s3c_gpio_setpull(S5PV210_GPF3(i), S3C_GPIO_PULL_NONE);
+	}
+
+	/* mDNIe SEL: why we shall write 0x2 ? */
+	writel(0x2, S5P_MDNIE_SEL);
+
+	/* drive strength to max */
+	writel(0xffffffff, S5PV210_GPF0_BASE + 0xc);
+	writel(0xffffffff, S5PV210_GPF1_BASE + 0xc);
+	writel(0xffffffff, S5PV210_GPF2_BASE + 0xc);
+	writel(0x000000ff, S5PV210_GPF3_BASE + 0xc);
+}
+
+#define S5PV210_GPD_0_0_TOUT_0  (0x2)
+#define S5PV210_GPD_0_1_TOUT_1  (0x2 &lt;&lt; 4)
+#define S5PV210_GPD_0_2_TOUT_2  (0x2 &lt;&lt; 8)
+#define S5PV210_GPD_0_3_TOUT_3  (0x2 &lt;&lt; 12) +static int flocs600_backlight_on(struct platform_device *pdev) +{ +	int err; + +	err = gpio_request(S5PV210_GPD0(3), "GPD0"); + +	if (err) { +		printk(KERN_ERR "failed to request GPD0 for " +			"lcd backlight control\n"); +		return err; +	} + +	gpio_direction_output(S5PV210_GPD0(3), 1); + +	s3c_gpio_cfgpin(S5PV210_GPD0(3), S5PV210_GPD_0_3_TOUT_3); + +	gpio_free(S5PV210_GPD0(3)); +	return 0; +} + +static int flocs600_backlight_off(struct platform_device *pdev, int onoff) +{ +	int err; + +	err = gpio_request(S5PV210_GPD0(3), "GPD0"); + +	if (err) { +		printk(KERN_ERR "failed to request GPD0 for " +				"lcd backlight control\n"); +		return err; +	} + +	gpio_direction_output(S5PV210_GPD0(3), 0); +	gpio_free(S5PV210_GPD0(3)); +	return 0; +} + +static int flocs600_reset_lcd(struct platform_device *pdev) +{ +	int err; + +	err = gpio_request(S5PV210_GPH0(6), "GPH0"); +	if (err) { +		printk(KERN_ERR "failed to request GPH0 for " +				"lcd reset control\n"); +		return err; +	} + +	gpio_direction_output(S5PV210_GPH0(6), 1); +	mdelay(100); + +	gpio_set_value(S5PV210_GPH0(6), 0); +	mdelay(10); + +	gpio_set_value(S5PV210_GPH0(6), 1); +	mdelay(10); + +	gpio_free(S5PV210_GPH0(6)); + +	return 0; +} + +static struct s3c_platform_fb flocs600_fb_data __initdata = { +	.hw_ver	= 0x62, +	.nr_wins = 5, +	.default_win = CONFIG_FB_S3C_DEFAULT_WINDOW, +	.swap = FB_SWAP_WORD | FB_SWAP_HWORD, + +	.lcd = &amp;flocs600, +	.cfg_gpio	= flocs600_cfg_gpio, +	.backlight_on	= flocs600_backlight_on, +	.backlight_onoff    = flocs600_backlight_off, +	.reset_lcd	= flocs600_reset_lcd, +}; +#endif + +  #ifdef CONFIG_S3C64XX_DEV_SPI    #define SMDK_MMCSPI_CS 0 @@ -1935,6 +2078,11 @@ static void __init smdkc110_machine_init(void)  	s3cfb_set_platdata(&amp;lte480wv_fb_data);  #endif   +/* Citizen Flocs FL0904 0.46" SVGA Add By: Bian Jiang 2012.4.12 */ +#ifdef CONFIG_FB_S3C_FLOCS600 +	s3cfb_set_platdata(&amp;flocs600_fb_data); +#endif +  	/* spi */  //#if 0	  #ifdef CONFIG_S3C64XX_DEV_SPI diff --git a/drivers/video/samsung/Kconfig b/drivers/video/samsung/Kconfig index 7738be14..7da6c62 100644 --- a/drivers/video/samsung/Kconfig +++ b/drivers/video/samsung/Kconfig @@ -71,13 +71,20 @@ config FB_S3C_Y_VRES  choice  depends on FB_S3C  prompt "Select LCD Type" -default FB_S3C_LTE480WV +default FB_S3C_FLOCS600 +config FB_S3C_FLOCS600 +	bool "FLOCS600" +	depends on (MACH_SMDKV210 || MACH_SMDKC110) +	---help--- +	  This enables support for Citizen FL0904 FLOCS600 0.46" SVGA LCD panel +  config FB_S3C_LTE480WV  	bool "LTE480WV"  	depends on (MACH_SMDKV210 || MACH_SMDKC110)  	---help---  	  This enables support for Samsung LTE480WV 4.8\" WVGA LCD panel   +  config FB_S3C_HT101HD1  	bool "HT101HD1"  	depends on MACH_SMDKV210 diff --git a/drivers/video/samsung/Makefile b/drivers/video/samsung/Makefile index e317c86..79390c8 100644 --- a/drivers/video/samsung/Makefile +++ b/drivers/video/samsung/Makefile @@ -7,6 +7,7 @@ obj-y				+= s3cfb.o  obj-$(CONFIG_ARCH_S5PV210)	+= s3cfb_fimd6x.o    obj-$(CONFIG_FB_S3C_LTE480WV)	+= s3cfb_lte480wv.o +obj-$(CONFIG_FB_S3C_FLOCS600)	+= s3cfb_flocs600.o  obj-$(CONFIG_FB_S3C_LVDS)       += s3cfb_lvds.o  obj-$(CONFIG_FB_S3C_HT101HD1)   += s3cfb_ht101hd1.o  obj-$(CONFIG_FB_S3C_TL2796)     += s3cfb_tl2796.o diff --git a/drivers/video/samsung/s3cfb.c b/drivers/video/samsung/s3cfb.c index a7a71e0..add9a47 100644 --- a/drivers/video/samsung/s3cfb.c +++ b/drivers/video/samsung/s3cfb.c @@ -983,6 +983,16 @@ static int __devinit s3cfb_probe(struct platform_device *pdev)  	}    	s3cfb_set_clock(fbdev); + +#if defined(CONFIG_DE_MOBILE_PHONE_BOARD) || defined(CONFIG_DE_BASE_BOARD) +    /* Add By: Bian Jiang 2012.3.12 +     *  WIN0 在uboot中使用了,但是为了保持uboot的logo显示,所以uboot不关闭win0 +     *  但是 如果不关闭win0,会导致播放视频和camera preview花屏。 +     */ +    s3cfb_set_window(fbdev, 0, 0); +#endif +  	s3cfb_set_window(fbdev, pdata-&gt;default_win, 1);
 
 	s3cfb_display_on(fbdev);
diff --git a/drivers/video/samsung/s3cfb_flocs600.c b/drivers/video/samsung/s3cfb_flocs600.c
new file mode 100644
index 0000000..3469a08
--- /dev/null
+++ b/drivers/video/samsung/s3cfb_flocs600.c
@@ -0,0 +1,46 @@
+/* linux/drivers/video/samsung/s3cfb_flocs600.c
+ *
+ * Citizen Flocs FL0904 0.46" SVGA Display Panel Support
+ *
+ * Jinsung Yang, Copyright (c) 2009 Samsung Electronics
+ * 	http://www.samsungsemi.com/
+ *
+ * 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.
+*/
+
+#include "s3cfb.h"
+
+static struct s3cfb_lcd flocs600 = {
+	.width = 800,
+	.height = 600,
+	.bpp = 32,
+	.freq = 60,
+
+	.timing = {
+		.h_fp = 8,
+		.h_bp = 13,
+		.h_sw = 3,
+		.v_fp = 5,
+		.v_fpe = 1,
+		.v_bp = 7,
+		.v_bpe = 1,
+		.v_sw = 1,
+	},
+
+	.polarity = {
+		.rise_vclk = 0,
+		.inv_hsync = 1,
+		.inv_vsync = 1,
+		.inv_vden = 0,
+	},
+};
+
+/* name should be fixed as 's3cfb_set_lcd_info' */
+void s3cfb_set_lcd_info(struct s3cfb_global *ctrl)
+{
+	flocs600.init_ldi = NULL;
+	ctrl-&gt;lcd = &amp;flocs600;
+}
+
--
1.7.4.1

下载地址:
0001-LCD-Porting-Citizen-FL0904-0.46-SVGA-flocs600

–EOF–