ARM: S5P64X0: Add Framebuffer support
Subsystems (4)
cover ARM: S5P64X0: Add Framebuffer support
The patches are created against "for-next" branch of Kukjin Kim's tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
Patch [1/6]
-- add "s5p64x0-fb" type driver_data(s3c_fb_driverdata). -- Display controller in S5P64X0 supports 3 windows.
Patch [2/6]
-- Resource definitions(_MEM, _IRQ).
Patch [3/6]
-- Set s3c_device_fb name as "s5p64x0-fb"
for S5P6440 and S5P6450.
Patch [4/6]
-- GPIO settings for LCD in S5P6440 and S5P6450. -- Select LCD interface type (RGB/i80)
Patch [5/6]
-- Add support for LCD-LTE480 platform device in SMDK6440. -- Platform data for FB and a basic window definition. -- Enables FB support and platform-lcd support. -- Add support for window 0 with 24 BPP.
Patch [6/6]
-- Add support for LCD-LTE480 platform device in SMDK6450. -- Platform data for FB and a basic window definition. -- Enables FB support and platform-lcd support. -- Add support for window 0 with 24 BPP.
o To Paul Mundt, Jingoo Han
[Patch 1/6] video: s3c-fb: Add S5P64X0 specific s3c_fb_driverdata
o To Kukjin Kim
[Patch 2/6] ARM: S5P64X0: Add register base and IRQ for Framebuffer [Patch 3/6] ARM: S5P64X0: Set s3c_device_fb name
[Patch 4/6] ARM: S5P64X0: Add GPIO and SPCON settings for LCD [Patch 5/6] ARM: S5P6440: Add LCD-LTE480 and enable Framebuffer support [Patch 6/6] ARM: S5P6450: Add LCD-LTE480 and enable Framebuffer support
arch/arm/mach-s5p64x0/Kconfig | 10 ++++ arch/arm/mach-s5p64x0/Makefile | 1 + arch/arm/mach-s5p64x0/cpu.c | 3 + arch/arm/mach-s5p64x0/include/mach/irqs.h | 4 ++ arch/arm/mach-s5p64x0/include/mach/map.h | 3 + arch/arm/mach-s5p64x0/include/mach/regs-fb.h | 19 +++++++ arch/arm/mach-s5p64x0/include/mach/regs-gpio.h | 4 ++ arch/arm/mach-s5p64x0/mach-smdk6440.c | 63 +++++++++++++++++++++++ arch/arm/mach-s5p64x0/mach-smdk6450.c | 63 +++++++++++++++++++++++ arch/arm/mach-s5p64x0/setup-fb.c | 48 ++++++++++++++++++ arch/arm/plat-samsung/include/plat/fb.h | 14 +++++ drivers/video/s3c-fb.c | 64 ++++++++++++++++++++++++ 12 files changed, 296 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5p64x0/include/mach/regs-fb.h create mode 100644 arch/arm/mach-s5p64x0/setup-fb.c
PATCH 1/6 video: s3c-fb: Add S5P64X0 specific s3c_fb_driverdata
This patch:
Adds s3c_fb_driverdata for S5P64X0, which supports 3 windows. Also, register "s5p64x0-fb" type driver_data.
Note: Existing s3c_fb_driverdata definitions in s3c-fb.c
supports 5 or 2 windows.
--- drivers/video/s3c-fb.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
drivers/video/s3c-fb.c +27 -0
@@ -1859,6 +1859,30 @@ static struct s3c_fb_driverdata s3c_fb_data_s3c2443 = { }, }; +static struct s3c_fb_driverdata s3c_fb_data_s5p64x0 = { + .variant = { + .nr_windows =3 , + .vidtcon =VIDTCON0 , + .wincon =WINCON (0 ), + .winmap =WINxMAP (0 ), + .keycon =WKEYCON , + .osd =VIDOSD_BASE , + .osd_stride =16 , + .buf_start =VIDW_BUF_START (0 ), + .buf_size =VIDW_BUF_SIZE (0 ), + .buf_end =VIDW_BUF_END (0 ), + + .palette = { + [0 ] =0x2400 , + [1 ] =0x2800 , + [2 ] =0x2c00 , + }, + }, + .win[0 ] = &s3c_fb_data_s5p_wins[0 ], + .win[1 ] = &s3c_fb_data_s5p_wins[1 ], + .win[2 ] = &s3c_fb_data_s5p_wins[2 ], +}; +static struct platform_device_id s3c_fb_driver_ids[] = { { .name ="s3c-fb" ,
@@ -1872,6 +1896,9 @@ static struct platform_device_id s3c_fb_driver_ids[] = { }, { .name = "s3c2443-fb", .driver_data = (unsigned long)&s3c_fb_data_s3c2443, + }, { + .name = "s5p64x0-fb", + .driver_data = (unsigned long)&s3c_fb_data_s5p64x0, }, {}, };
Signature · 1 line
1.7.1
PATCH 2/6 ARM: S5P64X0: Add register base and IRQ for Framebuffer
In reply to Ajay KumarThis patch adds:
o Framebuffer related register mappings and bit fields.
o IRQ number being used.
--- arch/arm/mach-s5p64x0/include/mach/irqs.h | 4 ++++ arch/arm/mach-s5p64x0/include/mach/map.h | 3 +++ arch/arm/mach-s5p64x0/include/mach/regs-fb.h | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5p64x0/include/mach/regs-fb.h
arch/arm/mach-s5p64x0/include/mach/irqs.h +4 -0
@@ -85,6 +85,10 @@#define IRQ_S3CUART_RX4 IRQ_S5P_UART_RX4#define IRQ_S3CUART_RX5 IRQ_S5P_UART_RX5 +#define IRQ_LCD_FIFO IRQ_DISPCON0 +#define IRQ_LCD_VSYNC IRQ_DISPCON1 +#define IRQ_LCD_SYSTEM IRQ_DISPCON2 +/* S5P6450 EINT feature will be added */ /*
arch/arm/mach-s5p64x0/include/mach/map.h +3 -0
@@ -47,6 +47,8 @@#define S5P64X0_PA_HSMMC (x) (0xED800000 + ((x) * 0x100000)) +#define S5P64X0_PA_FB 0xEE000000 +#define S5P64X0_PA_I2S 0xF2000000#define S5P6450_PA_I2S1 0xF2800000#define S5P6450_PA_I2S2 0xF2900000
@@ -64,6 +66,7 @@#define S3C_PA_IIC1 S5P6440_PA_IIC1#define S3C_PA_RTC S5P64X0_PA_RTC#define S3C_PA_WDT S5P64X0_PA_WDT +#define S3C_PA_FB S5P64X0_PA_FB#define S5P_PA_CHIPID S5P64X0_PA_CHIPID#define S5P_PA_SROMC S5P64X0_PA_SROMC
arch/arm/mach-s5p64x0/include/mach/regs-fb.h new file +19 -0
@@ -0,0 +1,19 @@ +/* +* linux/arch/arm/mach-s5p64x0/include/mach/regs-fb.h +* +* Copyright (c) 2011 Samsung Electronics Co., Ltd. +* http://www.samsung.com/ +* +* Framebuffer register definitions for Samsung S5P64X0. +* +* 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. +*/ + +#ifndef __ASM_ARCH_MACH_REGS_FB_H +#define __ASM_ARCH_MACH_REGS_FB_H __FILE__ + +#include <plat/regs-fb.h> + +#endif /* __ASM_ARCH_MACH_REGS_FB_H */
Signature · 1 line
1.7.1
PATCH 2/6 ARM: S5P64X0: Add register base and IRQ for Framebuffer
Hello,
Quoted 66 lines · Ajay Kumar
This patch adds:
o Framebuffer related register mappings and bit fields.
o IRQ number being used.Signed-off-by Ajay Kumar <[email protected]>--- arch/arm/mach-s5p64x0/include/mach/irqs.h | 4 ++++ arch/arm/mach-s5p64x0/include/mach/map.h | 3 +++ arch/arm/mach-s5p64x0/include/mach/regs-fb.h | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5p64x0/include/mach/regs-fb.harch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/irqs.h +0
-0
s5p64x0/include/mach/irqs.h
index 513abff..09995b8 100644arch/arm/mach-s5p64x0/include/mach/irqs.h +4
-0@@ -85,6 +85,10 @@#define IRQ_S3CUART_RX4 IRQ_S5P_UART_RX4#define IRQ_S3CUART_RX5 IRQ_S5P_UART_RX5 +#define IRQ_LCD_FIFO IRQ_DISPCON0 +#define IRQ_LCD_VSYNC IRQ_DISPCON1 +#define IRQ_LCD_SYSTEM IRQ_DISPCON2 +/* S5P6450 EINT feature will be added */ /* arch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/map.h +0
-0
s5p64x0/include/mach/map.h
index 95c9125..c5ef50c 100644arch/arm/mach-s5p64x0/include/mach/map.h +3
-0@@ -47,6 +47,8 @@#define S5P64X0_PA_HSMMC (x) (0xED800000 + ((x) * 0x100000)) +#define S5P64X0_PA_FB 0xEE000000 +#define S5P64X0_PA_I2S 0xF2000000#define S5P6450_PA_I2S1 0xF2800000#define S5P6450_PA_I2S2 0xF2900000@@ -64,6 +66,7 @@#define S3C_PA_IIC1 S5P6440_PA_IIC1#define S3C_PA_RTC S5P64X0_PA_RTC#define S3C_PA_WDT S5P64X0_PA_WDT +#define S3C_PA_FB S5P64X0_PA_FB#define S5P_PA_CHIPID S5P64X0_PA_CHIPID#define S5P_PA_SROMC S5P64X0_PA_SROMCarch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/regs-fb.h +0
-0
s5p64x0/include/mach/regs-fb.h
new file mode 100644
index 0000000..cbb8d8carch/arm/mach-s5p64x0/include/mach/regs-fb.h new file +9
-0@@ -0,0 +1,19 @@ +/* +* linux/arch/arm/mach-s5p64x0/include/mach/regs-fb.h +* +* Copyright (c) 2011 Samsung Electronics Co., Ltd. +* http://www.samsung.com/ +* +* Framebuffer register definitions for Samsung S5P64X0. +* +* This program is free software; you can redistribute it and/or modify
arch/arm/mach-s5p64x0/include/mach/regs-fb.h line 19
Quoted 10 lines
arch/arm/mach-s5p64x0/include/mach/regs-fb.h new file +10
-0+* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MACH_REGS_FB_H +#define __ASM_ARCH_MACH_REGS_FB_H __FILE__ + +#include <plat/regs-fb.h> + +#endif /* __ASM_ARCH_MACH_REGS_FB_H */
This patch reminds me, that the arch/arm/mach-*/include/mach/regs-fb.h files should be
completely removed. Most of them simply includes the other header from plat-samsung,
which can be included directly by the driver. plat-s5pc100/include/mach/regs-fb.h contains
some definitions that are not used at all afair, so it can be dropped as well.
Best regards
Signature · 2 lines
Marek Szyprowski Samsung Poland R&D Center
PATCH 2/6 ARM: S5P64X0: Add register base and IRQ for Framebuffer
Hi Marek,
Quoted 82 lines · Marek Szyprowski
Hello,
Quoted 66 lines · Ajay Kumar
This patch adds:
o Framebuffer related register mappings and bit fields.
o IRQ number being used.Signed-off-by Ajay Kumar <[email protected]>---
?arch/arm/mach-s5p64x0/include/mach/irqs.h ? ?| ? ?4 ++++ ?arch/arm/mach-s5p64x0/include/mach/map.h ? ? | ? ?3 +++ ?arch/arm/mach-s5p64x0/include/mach/regs-fb.h | ? 19 +++++++++++++++++++?3 files changed, 26 insertions(+), 0 deletions(-) ?create mode 100644
arch/arm/mach-s5p64x0/include/mach/regs-fb.harch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/irqs.h +0
-0
s5p64x0/include/mach/irqs.h
index 513abff..09995b8 100644arch/arm/mach-s5p64x0/include/mach/irqs.h +0
-0@@ -85,6 +85,10 @@?#define
IRQ_S3CUART_RX4? ? ? ? ? ? ?IRQ_S5P_UART_RX4 ?#defineIRQ_S3CUART_RX5? ? ? ? ? ? ?IRQ_S5P_UART_RX5arch/arm/mach-s5p64x0/include/mach/irqs.h +4
-0+#define IRQ_LCD_FIFO ? ? ? ? IRQ_DISPCON0 +#define IRQ_LCD_VSYNC ? ? ? ? ? ? ? ?IRQ_DISPCON1 +#define IRQ_LCD_SYSTEM ? ? ? ? ? ? ? IRQ_DISPCON2 +?/* S5P6450 EINT feature will be added */
?/*
arch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/map.h +0
-0
s5p64x0/include/mach/map.h
index 95c9125..c5ef50c 100644arch/arm/mach-s5p64x0/include/mach/map.h +2
-0@@ -47,6 +47,8 @@ ?#define S5P64X0_PA_HSMMC(x) ?(0xED800000 + ((x) * 0x100000)) +#define S5P64X0_PA_FB ? ? ? ? ? ? ? ?0xEE000000 +?#define
S5P64X0_PA_I2S? ? ? ? ? ? ?0xF2000000
?#defineS5P6450_PA_I2S1? ? ? ? ? ? ?0xF2800000
?#defineS5P6450_PA_I2S2? ? ? ? ? ? ?0xF2900000arch/arm/mach-s5p64x0/include/mach/map.h +0
-0@@ -64,6 +66,7 @@?#define
S3C_PA_IIC1? ? ? ? ?S5P6440_PA_IIC1
?#defineS3C_PA_RTC? ? ? ? ?S5P64X0_PA_RTC
?#defineS3C_PA_WDT? ? ? ? ?S5P64X0_PA_WDT
+#defineS3C_PA_FB? ? ? ? ? ?S5P64X0_PA_FB?#define
S5P_PA_CHIPID? ? ? ? ? ? ? ?S5P64X0_PA_CHIPID ?#defineS5P_PA_SROMC? ? ? ?S5P64X0_PA_SROMCarch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/regs-fb.h +0
-0
s5p64x0/include/mach/regs-fb.h
new file mode 100644
index 0000000..cbb8d8carch/arm/mach-s5p64x0/include/mach/regs-fb.h new file +9
-0@@ -0,0 +1,19 @@ +/* +* linux/arch/arm/mach-s5p64x0/include/mach/regs-fb.h +* +* Copyright (c) 2011 Samsung Electronics Co., Ltd. +* ? ? ? ? ? http://www.samsung.com/ +* +* Framebuffer register definitions for Samsung S5P64X0. +* +* This program is free software; you can redistribute it and/or modify arch/arm/mach-s5p64x0/include/mach/regs-fb.h line 19
Quoted 10 lines
arch/arm/mach-s5p64x0/include/mach/regs-fb.h new file +10
-0+* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ + +#ifndef __ASM_ARCH_MACH_REGS_FB_H +#define __ASM_ARCH_MACH_REGS_FB_H __FILE__ + +#include <plat/regs-fb.h> + +#endif /* __ASM_ARCH_MACH_REGS_FB_H */
Quoted 7 lines
This patch reminds me, that the
arch/arm/mach-*/include/mach/regs-fb.hfiles should be
completely removed. Most of them simply includes the other header from plat-samsung,
which can be included directly by the driver.plat-s5pc100/include/mach/regs-fb.hcontains
some definitions that are not used at all afair, so it can be dropped as well.
I consider your point.
Soon I will send a consolidating patch for all the boards.
Note: Consolidation patch set is based on S5P64X0 patch-set
Quoted 12 lines
Best regards
--
Marek Szyprowski
Samsung Poland R&D Center--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo at vger.kernel.org
More majordomo info at ?http://vger.kernel.org/majordomo-info.html
PATCH 2/6 ARM: S5P64X0: Add register base and IRQ for Framebuffer
In reply to Ajay KumarQuoted 78 lines · Ajay Kumar
This patch adds:
o Framebuffer related register mappings and bit fields.
o IRQ number being used.Signed-off-by Ajay Kumar <[email protected]>--- arch/arm/mach-s5p64x0/include/mach/irqs.h | 4 ++++ arch/arm/mach-s5p64x0/include/mach/map.h | 3 +++ arch/arm/mach-s5p64x0/include/mach/regs-fb.h | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5p64x0/include/mach/regs-fb.harch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/irqs.h +0
-0
s5p64x0/include/mach/irqs.h
index 513abff..09995b8 100644arch/arm/mach-s5p64x0/include/mach/irqs.h +4
-0@@ -85,6 +85,10 @@#define IRQ_S3CUART_RX4 IRQ_S5P_UART_RX4#define IRQ_S3CUART_RX5 IRQ_S5P_UART_RX5 +#define IRQ_LCD_FIFO IRQ_DISPCON0 +#define IRQ_LCD_VSYNC IRQ_DISPCON1 +#define IRQ_LCD_SYSTEM IRQ_DISPCON2 +/* S5P6450 EINT feature will be added */ /* arch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/map.h +0
-0
s5p64x0/include/mach/map.h
index 95c9125..c5ef50c 100644arch/arm/mach-s5p64x0/include/mach/map.h +3
-0@@ -47,6 +47,8 @@#define S5P64X0_PA_HSMMC (x) (0xED800000 + ((x) * 0x100000)) +#define S5P64X0_PA_FB 0xEE000000 +#define S5P64X0_PA_I2S 0xF2000000#define S5P6450_PA_I2S1 0xF2800000#define S5P6450_PA_I2S2 0xF2900000@@ -64,6 +66,7 @@#define S3C_PA_IIC1 S5P6440_PA_IIC1#define S3C_PA_RTC S5P64X0_PA_RTC#define S3C_PA_WDT S5P64X0_PA_WDT +#define S3C_PA_FB S5P64X0_PA_FB#define S5P_PA_CHIPID S5P64X0_PA_CHIPID#define S5P_PA_SROMC S5P64X0_PA_SROMCarch/arm/mach- renamed from arch/arm/mach-s5p64x0/include/mach/regs-fb.h +0
-0
s5p64x0/include/mach/regs-fb.h
new file mode 100644
index 0000000..cbb8d8carch/arm/mach-s5p64x0/include/mach/regs-fb.h new file +19
-1@@ -0,0 +1,19 @@ +/* +* linux/arch/arm/mach-s5p64x0/include/mach/regs-fb.h +* +* Copyright (c) 2011 Samsung Electronics Co., Ltd. +* http://www.samsung.com/ +* +* Framebuffer register definitions for Samsung S5P64X0. +* +* 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. +*/ + +#ifndef __ASM_ARCH_MACH_REGS_FB_H +#define __ASM_ARCH_MACH_REGS_FB_H __FILE__ + +#include <plat/regs-fb.h> + +#endif /* __ASM_ARCH_MACH_REGS_FB_H */ --
Quoted 1 line
1.7.1
Since I applied your cleanup mach/regs-fb.h, you have to update this to avoid conflicts.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.
PATCH 3/6 ARM: S5P64X0: Set s3c_device_fb name
In reply to Ajay KumarFor S5P6440 and S5P6450:
Set s3c_device_fb name as "s5p64x0-fb", so that "s5p64x0-fb" type driver_data is used in s3c-fb driver.
--- arch/arm/mach-s5p64x0/cpu.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/mach-s5p64x0/cpu.c +3 -0
@@ -38,6 +38,7 @@#include <plat/s5p6440.h> #include <plat/s5p6450.h> #include <plat/adc-core.h> +#include <plat/fb-core.h> /* Initial IO mappings */
@@ -108,6 +109,7 @@ void __init s5p6440_map_io(void) {/* initialize any device information early */ s3c_adc_setname ("s3c64xx-adc" ); +s3c_fb_setname ("s5p64x0-fb" );iotable_init (s5p64x0_iodesc,ARRAY_SIZE (s5p64x0_iodesc));iotable_init (s5p6440_iodesc,ARRAY_SIZE (s5p6440_iodesc));
@@ -117,6 +119,7 @@ void __init s5p6450_map_io(void) {/* initialize any device information early */ s3c_adc_setname ("s3c64xx-adc" ); +s3c_fb_setname ("s5p64x0-fb" );iotable_init (s5p64x0_iodesc,ARRAY_SIZE (s5p64x0_iodesc));iotable_init (s5p6450_iodesc,ARRAY_SIZE (s5p6450_iodesc));
Signature · 1 line
1.7.1
PATCH 4/6 ARM: S5P64X0: Add GPIO and SPCON settings for LCD
In reply to Ajay KumarThis patch adds:
o GPIO lines settings(HSYNC, VSYNC, VCLK and VD) for LCD.
o Function to select type of LCD interface (RGB/i80)
--- arch/arm/mach-s5p64x0/Kconfig | 6 +++ arch/arm/mach-s5p64x0/Makefile | 1 + arch/arm/mach-s5p64x0/include/mach/regs-gpio.h | 4 ++ arch/arm/mach-s5p64x0/setup-fb.c | 48 ++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/fb.h | 14 +++++++ 5 files changed, 73 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5p64x0/setup-fb.c
arch/arm/mach-s5p64x0/Kconfig +6 -0
@@ -21,6 +21,12 @@ config CPU_S5P6450 help Enable S5P6450 CPU support +config S5P64X0_SETUP_FB + bool + help + Common setup code for S5P64X0 based boards with a LCD display + through RGB interface. + config S5P64X0_SETUP_I2C1 bool help
arch/arm/mach-s5p64x0/Makefile +1 -0
@@ -28,3 +28,4 @@ obj-y += dev-audio.o obj-$(CONFIG_S3C64XX_DEV_SPI) += dev-spi.o obj-$(CONFIG_S5P64X0_SETUP_I2C1) += setup-i2c1.o +obj-$(CONFIG_S5P64X0_SETUP_FB) += setup-fb.o
arch/arm/mach-s5p64x0/include/mach/regs-gpio.h +4 -0
@@ -34,4 +34,8 @@#define S5P6450_GPQ_BASE (S5P_VA_GPIO + 0x0180)#define S5P6450_GPS_BASE (S5P_VA_GPIO + 0x0300) +#define S5P64X0_SPCON0 (S5P_VA_GPIO + 0x1A0) +#define S5P64X0_SPCON0_LCD_SEL_MASK (0x3 << 0) +#define S5P64X0_SPCON0_LCD_SEL_RGB (0x1 << 0) +#endif /* __ASM_ARCH_REGS_GPIO_H */
arch/arm/mach-s5p64x0/setup-fb.c new file +48 -0
48 lines not on this page · raw message
arch/arm/plat-samsung/include/plat/fb.h +14 -0
@@ -94,4 +94,18 @@ extern void s5pc100_fb_gpio_setup_24bpp(void);*/ extern void s5pv210_fb_gpio_setup_24bpp (void ); +/** +* s5p64x0_fb_init() - Common setup function for LCD +* +* Select LCD I/F configuration-RGB style or i80 style +*/ +extern void s5p64x0_fb_init (int lcd_interface_type); + +/** +* s5p64x0_fb_gpio_setup_24bpp() - Common GPIO setup function for LCD +* +* Initialise the GPIO for a LCD display on the RGB interface. +*/ +extern void s5p64x0_fb_gpio_setup_24bpp (void ); +#endif /* __PLAT_S3C_FB_H */
Signature · 1 line
1.7.1
PATCH 4/6 ARM: S5P64X0: Add GPIO and SPCON settings for LCD
Review
Quoted 34 lines · Ajay Kumar
This patch adds:
o GPIO linessettings(HSYNC, VSYNC, VCLK and VD)for LCD.
o Function to select type of LCD interface (RGB/i80)Signed-off-by Ajay Kumar <[email protected]>--- arch/arm/mach-s5p64x0/Kconfig | 6 +++ arch/arm/mach-s5p64x0/Makefile | 1 + arch/arm/mach-s5p64x0/include/mach/regs-gpio.h | 4 ++ arch/arm/mach-s5p64x0/setup-fb.c | 48 ++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/fb.h | 14 +++++++ 5 files changed, 73 insertions(+), 0 deletions(-) create mode 100644 arch/arm/mach-s5p64x0/setup-fb.carch/arm/mach-s5p64x0/Kconfig +6
-0@@ -21,6 +21,12 @@ config CPU_S5P6450 help Enable S5P6450 CPU support +config S5P64X0_SETUP_FB + bool + help + Common setup code for S5P64X0 based boards with a LCD display + through RGB interface. + config S5P64X0_SETUP_I2C1 bool help(quoted diff) +0
-0
b/arch/arm/mach-s5p64x0/Makefile
Review
Quoted 9 lines
index ae6bf6f..43698c6 100644
arch/arm/mach-s5p64x0/Makefile +1
-0@@ -28,3 +28,4 @@ obj-y += dev-audio.o obj-$(CONFIG_S3C64XX_DEV_SPI) += dev-spi.o obj-$(CONFIG_S5P64X0_SETUP_I2C1) += setup-i2c1.o +obj-$(CONFIG_S5P64X0_SETUP_FB) += setup-fb.o(quoted diff) +0
-0
b/arch/arm/mach-
Review
Quoted 14 lines
s5p64x0/include/mach/regs-gpio.h
index 0953ef6..2f07cbd 100644arch/arm/mach-s5p64x0/include/mach/regs-gpio.h +4
-0@@ -34,4 +34,8 @@#define S5P6450_GPQ_BASE (S5P_VA_GPIO + 0x0180)#define S5P6450_GPS_BASE (S5P_VA_GPIO + 0x0300) +#define S5P64X0_SPCON0 (S5P_VA_GPIO + 0x1A0) +#define S5P64X0_SPCON0_LCD_SEL_MASK (0x3 << 0) +#define S5P64X0_SPCON0_LCD_SEL_RGB (0x1 << 0) +#endif /* __ASM_ARCH_REGS_GPIO_H */ (quoted diff) +0
-0
b/arch/arm/mach-s5p64x0/setup-fb.c
Quoted 25 lines
new file mode 100644
index 0000000..3e8ffadarch/arm/mach-s5p64x0/setup-fb.c new file +20
-0@@ -0,0 +1,48 @@ +/* linux/arch/arm/mach-s5p64x0/setup-fb.c +* +* Copyright (c) 2011 Samsung Electronics Co., Ltd. +* http://www.samsung.com/ +* +* Base S5P64X0 GPIO setup information for LCD framebuffer +* +* GPIO settings for LCD on any other board based on s5p64x0 +* should go in this file. +* +* 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 <linux/fb.h> +#include <linux/gpio.h> + +#include <plat/fb.h> +#include <plat/gpio-cfg.h>
arch/arm/mach-s5p64x0/setup-fb.c line 30
Quoted 10 lines
arch/arm/mach-s5p64x0/setup-fb.c new file +10
-0+ +#include <mach/regs-clock.h> +#include <mach/regs-gpio.h> + +void s5p64x0_fb_init (int lcd_interface_type) +{ +unsigned int cfg; + +/* select TFT LCD type (RGB I/F) */ + cfg =readl (S5P64X0_SPCON0 );
Since no need memory barrier here, just use __raw_readl
arch/arm/mach-s5p64x0/setup-fb.c line 33
Quoted 3 lines
arch/arm/mach-s5p64x0/setup-fb.c new file +3
-0+ cfg &= ~S5P64X0_SPCON0_LCD_SEL_MASK ; + cfg |= lcd_interface_type; +writel (cfg,S5P64X0_SPCON0 );
__raw_writel
Quoted 17 lines
arch/arm/mach-s5p64x0/setup-fb.c new file +9
-0+} + +void s5p64x0_fb_gpio_setup_24bpp (void ) +{ +unsigned int cfg; + + cfg =readl (S5P64X0_SYS_ID ) &0xf0000 ; +if (cfg ==0x40000 ) { + s3c_gpio_cfgrange_nopull(S5P6440_GPI(0), 16,
S3C_GPIO_SFN(2));arch/arm/mach-s5p64x0/setup-fb.c new file +1
-0+ s3c_gpio_cfgrange_nopull(S5P6440_GPJ(0), 12,
S3C_GPIO_SFN(2));arch/arm/mach-s5p64x0/setup-fb.c new file +2
-0+ }else if (cfg ==0x50000 ) { + s3c_gpio_cfgrange_nopull(S5P6450_GPI(0), 16,
S3C_GPIO_SFN(2));arch/arm/mach-s5p64x0/setup-fb.c new file +1
-0+ s3c_gpio_cfgrange_nopull(S5P6450_GPJ(0), 12,
S3C_GPIO_SFN(2));
arch/arm/mach-s5p64x0/setup-fb.c
Quoted 1 line
arch/arm/mach-s5p64x0/setup-fb.c new file +1
-0+ }
Following is more make sense ?
+ unsigned int chipid;
+
+ chipid = __raw_readl(S5P64X0_SYS_ID) & 0xff000;
+ if (chipd == 0x50000) {
+ s3c_gpio_cfgrange_nopull(S5P6450_GPI(0), 16,S3C_GPIO_SFN(2));
+ s3c_gpio_cfgrange_nopull(S5P6450_GPJ(0), 12,S3C_GPIO_SFN(2));
+ } else {
+ s3c_gpio_cfgrange_nopull(S5P6440_GPI(0), 16,S3C_GPIO_SFN(2));
+ s3c_gpio_cfgrange_nopull(S5P6440_GPJ(0), 12,S3C_GPIO_SFN(2));
+ }
Quoted 26 lines
arch/arm/mach-s5p64x0/setup-fb.c new file +1
-0+}arch/arm/plat- renamed from arch/arm/plat-samsung/include/plat/fb.h +0
-0
samsung/include/plat/fb.h
index cb3ca3a..8147c59 100644arch/arm/plat-samsung/include/plat/fb.h +14
-1@@ -94,4 +94,18 @@ extern void s5pc100_fb_gpio_setup_24bpp(void);*/ extern void s5pv210_fb_gpio_setup_24bpp (void ); +/** +* s5p64x0_fb_init() - Common setup function for LCD +* +* Select LCD I/F configuration-RGB style or i80 style +*/ +extern void s5p64x0_fb_init (int lcd_interface_type); + +/** +* s5p64x0_fb_gpio_setup_24bpp() - Common GPIO setup function for LCD +* +* Initialise the GPIO for a LCD display on the RGB interface. +*/ +extern void s5p64x0_fb_gpio_setup_24bpp (void ); +#endif /* __PLAT_S3C_FB_H */ --
Quoted 1 line
1.7.1
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.
PATCH 5/6 ARM: S5P6440: Add LCD-LTE480 and enable Framebuffer support
In reply to Ajay KumarThis patch:
o Adds platform device support for LCD-LTE480.
o Adds platform data for FB with win_mode and default_bpp.
o Enables FB device support and platform-lcd support.
--- arch/arm/mach-s5p64x0/Kconfig | 2 + arch/arm/mach-s5p64x0/mach-smdk6440.c | 63 +++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 0 deletions(-)
arch/arm/mach-s5p64x0/Kconfig +2 -0
@@ -37,6 +37,7 @@ config S5P64X0_SETUP_I2C1 config MACH_SMDK6440 bool "SMDK6440" select CPU_S5P6440 + select S3C_DEV_FB select S3C_DEV_I2C1 select S3C_DEV_RTC select S3C_DEV_WDT
@@ -44,6 +45,7 @@ config MACH_SMDK6440 select SAMSUNG_DEV_ADC select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS + select S5P64X0_SETUP_FB select S5P64X0_SETUP_I2C1 help Machine support for the Samsung SMDK6440
arch/arm/mach-s5p64x0/mach-smdk6440.c +63 -0
99 lines not on this page · raw message
Signature · 1 line
1.7.1
PATCH 6/6 ARM: S5P6450: Add LCD-LTE480 and enable Framebuffer support
In reply to Ajay KumarThis patch:
o Adds platform device support for LCD-LTE480.
o Adds platform data for FB with win_mode and default_bpp.
o Enables FB device support and platform-lcd support.
--- arch/arm/mach-s5p64x0/Kconfig | 2 + arch/arm/mach-s5p64x0/mach-smdk6450.c | 63 +++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 0 deletions(-)
arch/arm/mach-s5p64x0/Kconfig +2 -0
@@ -53,6 +53,7 @@ config MACH_SMDK6440 config MACH_SMDK6450 bool "SMDK6450" select CPU_S5P6450 + select S3C_DEV_FB select S3C_DEV_I2C1 select S3C_DEV_RTC select S3C_DEV_WDT
@@ -60,6 +61,7 @@ config MACH_SMDK6450 select SAMSUNG_DEV_ADC select SAMSUNG_DEV_PWM select SAMSUNG_DEV_TS + select S5P64X0_SETUP_FB select S5P64X0_SETUP_I2C1 help Machine support for the Samsung SMDK6450
arch/arm/mach-s5p64x0/mach-smdk6450.c +63 -0
99 lines not on this page · raw message
Signature · 1 line
1.7.1
cover ARM: S5P64X0: Add Framebuffer support
In reply to Ajay KumarQuoted 24 lines · Ajay Kumar
The patches are created against "for-next" branch of Kukjin Kim's tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.gitPatch [1/6]
-- add "s5p64x0-fb" typedriver_data(s3c_fb_driverdata). -- Display controller in S5P64X0 supports 3 windows.Patch [2/6]
-- Resourcedefinitions(_MEM, _IRQ).Patch [3/6]
-- Sets3c_device_fbname as "s5p64x0-fb"
for S5P6440 and S5P6450.Patch [4/6]
-- GPIO settings for LCD in S5P6440 and S5P6450. -- Select LCD interface type (RGB/i80)Patch [5/6]
-- Add support for LCD-LTE480 platform device in SMDK6440. -- Platform data for FB and a basic window definition. -- Enables FB support and platform-lcd support. -- Add support for window 0 with 24 BPP.
Quoted 6 lines
Patch [6/6]
-- Add support for LCD-LTE480 platform device in SMDK6450. -- Platform data for FB and a basic window definition. -- Enables FB support and platform-lcd support. -- Add support for window 0 with 24 BPP.
Some of the patches have got some coding syntax (DOS LINE ending etc.). Consider running scripts/checkpatch.pl on the patches before sending the next version.
scripts/cleanpatch can help you in fixing many of the style problems.
Quoted 31 lines
o To Paul Mundt, Jingoo Han
[Patch 1/6] video: s3c-fb: Add S5P64X0 specifics3c_fb_driverdatao To Kukjin Kim
[Patch 2/6] ARM: S5P64X0: Add register base and IRQ for Framebuffer [Patch 3/6] ARM: S5P64X0: Sets3c_device_fbname
[Patch 4/6] ARM: S5P64X0: Add GPIO and SPCON settings for LCD [Patch 5/6] ARM: S5P6440: Add LCD-LTE480 and enable Framebuffer support [Patch 6/6] ARM: S5P6450: Add LCD-LTE480 and enable Framebuffer supportarch/arm/mach-s5p64x0/Kconfig | 10 ++++ arch/arm/mach-s5p64x0/Makefile | 1 + arch/arm/mach-s5p64x0/cpu.c | 3 + arch/arm/mach-s5p64x0/include/mach/irqs.h | 4 ++ arch/arm/mach-s5p64x0/include/mach/map.h | 3 + arch/arm/mach-s5p64x0/include/mach/regs-fb.h | 19 +++++++ arch/arm/mach-s5p64x0/include/mach/regs-gpio.h | 4 ++ arch/arm/mach-s5p64x0/mach-smdk6440.c | 63 +++++++++++++++++++++++ arch/arm/mach-s5p64x0/mach-smdk6450.c | 63 +++++++++++++++++++++++ arch/arm/mach-s5p64x0/setup-fb.c | 48 ++++++++++++++++++ arch/arm/plat-samsung/include/plat/fb.h | 14 +++++ drivers/video/s3c-fb.c | 64 ++++++++++++++++++++++++ 12 files changed, 296 insertions(+), 0 deletions(-)create mode 100644
arch/arm/mach-s5p64x0/include/mach/regs-fb.hcreate mode 100644arch/arm/mach-s5p64x0/setup-fb.c--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Tushar Behera
cover ARM: S5P64X0: Add Framebuffer support
Hi Tushar,
Quoted 34 lines · Tushar Behera
Quoted 27 lines · Ajay Kumar
? ? ? ?The patches are created against "for-next" branch of Kukjin Kim's tree at:
?git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git
? ? ? ?Patch [1/6]
? ? ? ?-- add "s5p64x0-fb" typedriver_data(s3c_fb_driverdata). ? ? ? ?-- Display controller in S5P64X0 supports 3 windows.? ? ? ?Patch [2/6]
? ? ? ?-- Resourcedefinitions(_MEM, _IRQ).? ? ? ?Patch [3/6]
? ? ? ?-- Sets3c_device_fbname as "s5p64x0-fb"
? ? ? ? ? for S5P6440 and S5P6450.? ? ? ?Patch [4/6]
? ? ? ?-- GPIO settings for LCD in S5P6440 and S5P6450. ? ? ? ?-- Select LCD interface type (RGB/i80)? ? ? ?Patch [5/6]
? ? ? ?-- Add support for LCD-LTE480 platform device in SMDK6440. ? ? ? ?-- Platform data for FB and a basic window definition. ? ? ? ?-- Enables FB support and platform-lcd support. ? ? ? ?-- Add support for window 0 with 24 BPP.Quoted 6 lines
? ? ? ?Patch [6/6]
? ? ? ?-- Add support for LCD-LTE480 platform device in SMDK6450. ? ? ? ?-- Platform data for FB and a basic window definition. ? ? ? ?-- Enables FB support and platform-lcd support. ? ? ? ?-- Add support for window 0 with 24 BPP.
Quoted 6 lines
Some of the patches have got some coding syntax (DOS LINE ending etc.). Consider running
scripts/checkpatch.plon the patches before sending the next version.
scripts/cleanpatchcan help you in fixing many of the style problems.
I have tried running checkpatch.pl on patches 1 to 6,
and I did not encounter any error like DOS_LINE as you have mentioned. Can you please tell me which patch is showing that error when run with checkpatch.pl?
Quoted 45 lines
Quoted 30 lines
?o To Paul Mundt, Jingoo Han
? ?[Patch 1/6] video: s3c-fb: Add S5P64X0 specifics3c_fb_driverdata?o To Kukjin Kim
? ?[Patch 2/6] ARM: S5P64X0: Add register base and IRQ for Framebuffer ? ?[Patch 3/6] ARM: S5P64X0: Sets3c_device_fbname
? ?[Patch 4/6] ARM: S5P64X0: Add GPIO and SPCON settings for LCD ? ?[Patch 5/6] ARM: S5P6440: Add LCD-LTE480 and enable Framebuffer support ? ?[Patch 6/6] ARM: S5P6450: Add LCD-LTE480 and enable Framebuffer support?arch/arm/mach-s5p64x0/Kconfig ? ? ? ? ? ? ? ? ?| ? 10 ++++ ?arch/arm/mach-s5p64x0/Makefile ? ? ? ? ? ? ? ? | ? ?1 + ?arch/arm/mach-s5p64x0/cpu.c ? ? ? ? ? ? ? ? ? ?| ? ?3 + ?arch/arm/mach-s5p64x0/include/mach/irqs.h ? ? ?| ? ?4 ++ ?arch/arm/mach-s5p64x0/include/mach/map.h ? ? ? | ? ?3 + ?arch/arm/mach-s5p64x0/include/mach/regs-fb.h ? | ? 19 +++++++ ?arch/arm/mach-s5p64x0/include/mach/regs-gpio.h | ? ?4 ++ ?arch/arm/mach-s5p64x0/mach-smdk6440.c ? ? ? ? ?| ? 63 +++++++++++++++++++++++ ?arch/arm/mach-s5p64x0/mach-smdk6450.c ? ? ? ? ?| ? 63 +++++++++++++++++++++++ ?arch/arm/mach-s5p64x0/setup-fb.c ? ? ? ? ? ? ? | ? 48 ++++++++++++++++++ ?arch/arm/plat-samsung/include/plat/fb.h ? ? ? ?| ? 14 +++++ ?drivers/video/s3c-fb.c ? ? ? ? ? ? ? ? ? ? ? ? | ? 64++++++++++++++++++++++++
?12 files changed, 296 insertions(+), 0 deletions(-) ?create mode 100644arch/arm/mach-s5p64x0/include/mach/regs-fb.h?create mode 100644arch/arm/mach-s5p64x0/setup-fb.cQuoted 5 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo at vger.kernel.org More majordomo info at ?http://vger.kernel.org/majordomo-info.html--
Tushar Behera
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at ?http://vger.kernel.org/majordomo-info.html
cover ARM: S5P64X0: Add Framebuffer support
Quoted 42 lines · Ajay kumar
Hi Tushar,
Quoted 38 lines · Tushar Behera
Quoted 27 lines · Ajay Kumar
The patches are created against "for-next" branch of Kukjin Kim's
tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.gitPatch [1/6]
-- add "s5p64x0-fb" typedriver_data(s3c_fb_driverdata). -- Display controller in S5P64X0 supports 3 windows.Patch [2/6]
-- Resourcedefinitions(_MEM, _IRQ).Patch [3/6]
-- Sets3c_device_fbname as "s5p64x0-fb"
for S5P6440 and S5P6450.Patch [4/6]
-- GPIO settings for LCD in S5P6440 and S5P6450. -- Select LCD interface type (RGB/i80)Patch [5/6]
-- Add support for LCD-LTE480 platform device in SMDK6440. -- Platform data for FB and a basic window definition. -- Enables FB support and platform-lcd support. -- Add support for window 0 with 24 BPP.Quoted 6 lines
Patch [6/6]
-- Add support for LCD-LTE480 platform device in SMDK6450. -- Platform data for FB and a basic window definition. -- Enables FB support and platform-lcd support. -- Add support for window 0 with 24 BPP.Some of the patches have got some coding syntax (DOS LINE ending etc.). Consider running
scripts/checkpatch.plon the patches before sending the next version.
Quoted 8 lines
Quoted 2 lines
scripts/cleanpatchcan help you in fixing many of the style problems.I have tried running checkpatch.pl on patches 1 to 6,
and I did not encounter any error likeDOS_LINEas you have mentioned. Can you please tell me which patch is showing that error when run with checkpatch.pl?
Yes you are right.
I used Thunderbird mail client to download the patches and some thing is wrong with its settings.
Quoted 45 lines
Quoted 45 lines
Quoted 27 lines
o To Paul Mundt, Jingoo Han
[Patch 1/6] video: s3c-fb: Add S5P64X0 specifics3c_fb_driverdatao To Kukjin Kim
[Patch 2/6] ARM: S5P64X0: Add register base and IRQ for Framebuffer [Patch 3/6] ARM: S5P64X0: Sets3c_device_fbname
[Patch 4/6] ARM: S5P64X0: Add GPIO and SPCON settings for LCD [Patch 5/6] ARM: S5P6440: Add LCD-LTE480 and enable Framebuffer support [Patch 6/6] ARM: S5P6450: Add LCD-LTE480 and enable Framebuffer supportarch/arm/mach-s5p64x0/Kconfig | 10 ++++ arch/arm/mach-s5p64x0/Makefile | 1 + arch/arm/mach-s5p64x0/cpu.c | 3 + arch/arm/mach-s5p64x0/include/mach/irqs.h | 4 ++ arch/arm/mach-s5p64x0/include/mach/map.h | 3 + arch/arm/mach-s5p64x0/include/mach/regs-fb.h | 19 +++++++ arch/arm/mach-s5p64x0/include/mach/regs-gpio.h | 4 ++ arch/arm/mach-s5p64x0/mach-smdk6440.c | 63 +++++++++++++++++++++++ arch/arm/mach-s5p64x0/mach-smdk6450.c | 63 +++++++++++++++++++++++ arch/arm/mach-s5p64x0/setup-fb.c | 48 ++++++++++++++++++ arch/arm/plat-samsung/include/plat/fb.h | 14 +++++ drivers/video/s3c-fb.c | 64 ++++++++++++++++++++++++ 12 files changed, 296 insertions(+), 0 deletions(-)Quoted 8 lines
create mode 100644
arch/arm/mach-s5p64x0/include/mach/regs-fb.hcreate mode 100644arch/arm/mach-s5p64x0/setup-fb.c--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html--
Tushar Behera
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 1 line
Tushar Behera