From: Kukjin Kim <kgene.kim@samsung.com> To: 'Ajay Kumar' <ajaykumar.rs@samsung.com>, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: RE: [PATCH V3 5/7] ARM: S5P64X0: Add file to hold common Framebuffer and LCD code Date: Wed, 07 Sep 2011 16:06:52 +0900 [thread overview] Message-ID: <000a01cc6d2c$b8529430$28f7bc90$%kim@samsung.com> (raw) In-Reply-To: <1311787878-16193-6-git-send-email-ajaykumar.rs@samsung.com> Ajay Kumar wrote: > > This patch creates a file which holds the framebuffer and > LCD code which is common for SMDK6440 and SMDK6450. > It mainly includes: > -- Basic FB window definition. > -- platform data for FB and LCD. > -- platform_device support for LCD. > > Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> > --- > arch/arm/mach-s5p64x0/Kconfig | 5 + > arch/arm/mach-s5p64x0/Makefile | 3 + > .../mach-s5p64x0/include/mach/smdk64x0-common-fb.h | 26 ++++++ > arch/arm/mach-s5p64x0/smdk64x0-common-fb.c | 92 > ++++++++++++++++++++ > 4 files changed, 126 insertions(+), 0 deletions(-) > create mode 100644 arch/arm/mach-s5p64x0/include/mach/smdk64x0-common- > fb.h > create mode 100644 arch/arm/mach-s5p64x0/smdk64x0-common-fb.c > > diff --git a/arch/arm/mach-s5p64x0/Kconfig b/arch/arm/mach-s5p64x0/Kconfig > index 4fee745..00d5873 100644 > --- a/arch/arm/mach-s5p64x0/Kconfig > +++ b/arch/arm/mach-s5p64x0/Kconfig > @@ -32,6 +32,11 @@ config S5P64X0_SETUP_I2C1 > help > Common setup code for i2c bus 1. > > +config SMDK64X0_COMMON_FB > + bool > + help > + Common framebuffer and LCD code which can be shared across SMDKs. > + > # machine support > > config MACH_SMDK6440 > diff --git a/arch/arm/mach-s5p64x0/Makefile b/arch/arm/mach-s5p64x0/Makefile > index 487d179..d09d81b 100644 > --- a/arch/arm/mach-s5p64x0/Makefile > +++ b/arch/arm/mach-s5p64x0/Makefile > @@ -22,6 +22,9 @@ obj-$(CONFIG_CPU_S5P6450) += clock-s5p6450.o > obj-$(CONFIG_MACH_SMDK6440) += mach-smdk6440.o > obj-$(CONFIG_MACH_SMDK6450) += mach-smdk6450.o > > +#common code > +obj-$(CONFIG_SMDK64X0_COMMON_FB) += smdk64x0-common-fb.o > + > # device support > > obj-y += dev-audio.o > diff --git a/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > b/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > new file mode 100644 > index 0000000..e3b87b9 > --- /dev/null > +++ b/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > @@ -0,0 +1,26 @@ > +/* linux/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > + * > + * Copyright (c) 2011 Samsung Electronics Co., Ltd. > + * http://www.samsung.com/ > + * > + * Includes declarations for variables and functions > + * needed in order to support framebuffer. > + * > + * 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/platform_device.h> > + > +#include <video/platform_lcd.h> > + > +#include <plat/fb.h> > + > +extern struct s3c_fb_pd_win smdk64x0_fb_win0; > +extern struct s3c_fb_platdata smdk64x0_lcd_pdata; > +extern struct plat_lcd_data smdk64x0_lcd_power_data; > +extern struct platform_device smdk64x0_lcd_lte480wv; > +extern void smdk64x0_lte480_reset_power(struct plat_lcd_data *pd, > + unsigned int power); > diff --git a/arch/arm/mach-s5p64x0/smdk64x0-common-fb.c b/arch/arm/mach- > s5p64x0/smdk64x0-common-fb.c > new file mode 100644 > index 0000000..a3203f8 > --- /dev/null > +++ b/arch/arm/mach-s5p64x0/smdk64x0-common-fb.c > @@ -0,0 +1,92 @@ > +/* linux/arch/arm/mach-s5p64x0/smdk64x0-common-fb.c > + * > + * Copyright (c) 2011 Samsung Electronics Co., Ltd. > + * http://www.samsung.com/ > + * > + * Includes definitions for variables and functions > + * needed in order to support framebuffer. > + * Note that this code is common across SMDK6440 and SMDK6450. > + * > + * 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/gpio.h> > + > +#include <mach/regs-clock.h> > +#include <mach/smdk64x0-common-fb.h> > + > +#include <plat/devs.h> > +#include <plat/regs-fb.h> > + > +/* Frame Buffer */ > +struct s3c_fb_pd_win smdk64x0_fb_win0 = { > + .win_mode = { > + .left_margin = 8, > + .right_margin = 13, > + .upper_margin = 7, > + .lower_margin = 5, > + .hsync_len = 3, > + .vsync_len = 1, > + .xres = 800, > + .yres = 480, > + .refresh = 60, > + }, > + .max_bpp = 32, > + .default_bpp = 24, > +}; > + > +struct s3c_fb_platdata smdk64x0_lcd_pdata __initdata = { > + .win[0] = &smdk64x0_fb_win0, > + .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, > + .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, > + .setup_gpio = s5p64x0_fb_gpio_setup_24bpp, > +}; > + > +/* LCD power controller */ > +void smdk64x0_lte480_reset_power(struct plat_lcd_data *pd, > + unsigned int power) > +{ > + unsigned int cfg; > + int err; > + > + if (power) { > + cfg = readl(S5P64X0_SYS_ID) & 0xf0000; > + if (cfg == 0x40000) { > + err = gpio_request(S5P6440_GPN(5), "GPN"); > + if (err) { > + printk(KERN_ERR "failed to request GPN for > lcd reset\n"); > + return; > + } > + > + gpio_direction_output(S5P6440_GPN(5), 1); > + gpio_set_value(S5P6440_GPN(5), 0); > + gpio_set_value(S5P6440_GPN(5), 1); > + gpio_free(S5P6440_GPN(5)); > + } else if (cfg == 0x50000) { > + err = gpio_request(S5P6450_GPN(5), "GPN"); > + if (err) { > + printk(KERN_ERR "failed to request GPN for > lcd reset\n"); > + return; > + } > + > + gpio_direction_output(S5P6450_GPN(5), 1); > + gpio_set_value(S5P6450_GPN(5), 0); > + gpio_set_value(S5P6450_GPN(5), 1); > + gpio_free(S5P6450_GPN(5)); > + } > + } > +} > + > +struct plat_lcd_data smdk64x0_lcd_power_data = { > + .set_power = smdk64x0_lte480_reset_power, > +}; > + > +struct platform_device smdk64x0_lcd_lte480wv = { > + .name = "platform-lcd", > + .dev = { > + .parent = &s3c_device_fb.dev, > + .platform_data = &smdk64x0_lcd_power_data, > + } > +}; > -- > 1.7.0.4 Well, I think, the smdk64x0-common-fb.c is not nice :( Sorry for bothering...but I think the old version is better because of overhead of adding file... As I know, you need to fix small changes, please re-submit your whole series except 1st one. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.
WARNING: multiple messages have this Message-ID (diff)
From: kgene.kim@samsung.com (Kukjin Kim) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH V3 5/7] ARM: S5P64X0: Add file to hold common Framebuffer and LCD code Date: Wed, 07 Sep 2011 16:06:52 +0900 [thread overview] Message-ID: <000a01cc6d2c$b8529430$28f7bc90$%kim@samsung.com> (raw) In-Reply-To: <1311787878-16193-6-git-send-email-ajaykumar.rs@samsung.com> Ajay Kumar wrote: > > This patch creates a file which holds the framebuffer and > LCD code which is common for SMDK6440 and SMDK6450. > It mainly includes: > -- Basic FB window definition. > -- platform data for FB and LCD. > -- platform_device support for LCD. > > Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> > --- > arch/arm/mach-s5p64x0/Kconfig | 5 + > arch/arm/mach-s5p64x0/Makefile | 3 + > .../mach-s5p64x0/include/mach/smdk64x0-common-fb.h | 26 ++++++ > arch/arm/mach-s5p64x0/smdk64x0-common-fb.c | 92 > ++++++++++++++++++++ > 4 files changed, 126 insertions(+), 0 deletions(-) > create mode 100644 arch/arm/mach-s5p64x0/include/mach/smdk64x0-common- > fb.h > create mode 100644 arch/arm/mach-s5p64x0/smdk64x0-common-fb.c > > diff --git a/arch/arm/mach-s5p64x0/Kconfig b/arch/arm/mach-s5p64x0/Kconfig > index 4fee745..00d5873 100644 > --- a/arch/arm/mach-s5p64x0/Kconfig > +++ b/arch/arm/mach-s5p64x0/Kconfig > @@ -32,6 +32,11 @@ config S5P64X0_SETUP_I2C1 > help > Common setup code for i2c bus 1. > > +config SMDK64X0_COMMON_FB > + bool > + help > + Common framebuffer and LCD code which can be shared across SMDKs. > + > # machine support > > config MACH_SMDK6440 > diff --git a/arch/arm/mach-s5p64x0/Makefile b/arch/arm/mach-s5p64x0/Makefile > index 487d179..d09d81b 100644 > --- a/arch/arm/mach-s5p64x0/Makefile > +++ b/arch/arm/mach-s5p64x0/Makefile > @@ -22,6 +22,9 @@ obj-$(CONFIG_CPU_S5P6450) += clock-s5p6450.o > obj-$(CONFIG_MACH_SMDK6440) += mach-smdk6440.o > obj-$(CONFIG_MACH_SMDK6450) += mach-smdk6450.o > > +#common code > +obj-$(CONFIG_SMDK64X0_COMMON_FB) += smdk64x0-common-fb.o > + > # device support > > obj-y += dev-audio.o > diff --git a/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > b/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > new file mode 100644 > index 0000000..e3b87b9 > --- /dev/null > +++ b/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > @@ -0,0 +1,26 @@ > +/* linux/arch/arm/mach-s5p64x0/include/mach/smdk64x0-common-fb.h > + * > + * Copyright (c) 2011 Samsung Electronics Co., Ltd. > + * http://www.samsung.com/ > + * > + * Includes declarations for variables and functions > + * needed in order to support framebuffer. > + * > + * 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/platform_device.h> > + > +#include <video/platform_lcd.h> > + > +#include <plat/fb.h> > + > +extern struct s3c_fb_pd_win smdk64x0_fb_win0; > +extern struct s3c_fb_platdata smdk64x0_lcd_pdata; > +extern struct plat_lcd_data smdk64x0_lcd_power_data; > +extern struct platform_device smdk64x0_lcd_lte480wv; > +extern void smdk64x0_lte480_reset_power(struct plat_lcd_data *pd, > + unsigned int power); > diff --git a/arch/arm/mach-s5p64x0/smdk64x0-common-fb.c b/arch/arm/mach- > s5p64x0/smdk64x0-common-fb.c > new file mode 100644 > index 0000000..a3203f8 > --- /dev/null > +++ b/arch/arm/mach-s5p64x0/smdk64x0-common-fb.c > @@ -0,0 +1,92 @@ > +/* linux/arch/arm/mach-s5p64x0/smdk64x0-common-fb.c > + * > + * Copyright (c) 2011 Samsung Electronics Co., Ltd. > + * http://www.samsung.com/ > + * > + * Includes definitions for variables and functions > + * needed in order to support framebuffer. > + * Note that this code is common across SMDK6440 and SMDK6450. > + * > + * 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/gpio.h> > + > +#include <mach/regs-clock.h> > +#include <mach/smdk64x0-common-fb.h> > + > +#include <plat/devs.h> > +#include <plat/regs-fb.h> > + > +/* Frame Buffer */ > +struct s3c_fb_pd_win smdk64x0_fb_win0 = { > + .win_mode = { > + .left_margin = 8, > + .right_margin = 13, > + .upper_margin = 7, > + .lower_margin = 5, > + .hsync_len = 3, > + .vsync_len = 1, > + .xres = 800, > + .yres = 480, > + .refresh = 60, > + }, > + .max_bpp = 32, > + .default_bpp = 24, > +}; > + > +struct s3c_fb_platdata smdk64x0_lcd_pdata __initdata = { > + .win[0] = &smdk64x0_fb_win0, > + .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB, > + .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, > + .setup_gpio = s5p64x0_fb_gpio_setup_24bpp, > +}; > + > +/* LCD power controller */ > +void smdk64x0_lte480_reset_power(struct plat_lcd_data *pd, > + unsigned int power) > +{ > + unsigned int cfg; > + int err; > + > + if (power) { > + cfg = readl(S5P64X0_SYS_ID) & 0xf0000; > + if (cfg == 0x40000) { > + err = gpio_request(S5P6440_GPN(5), "GPN"); > + if (err) { > + printk(KERN_ERR "failed to request GPN for > lcd reset\n"); > + return; > + } > + > + gpio_direction_output(S5P6440_GPN(5), 1); > + gpio_set_value(S5P6440_GPN(5), 0); > + gpio_set_value(S5P6440_GPN(5), 1); > + gpio_free(S5P6440_GPN(5)); > + } else if (cfg == 0x50000) { > + err = gpio_request(S5P6450_GPN(5), "GPN"); > + if (err) { > + printk(KERN_ERR "failed to request GPN for > lcd reset\n"); > + return; > + } > + > + gpio_direction_output(S5P6450_GPN(5), 1); > + gpio_set_value(S5P6450_GPN(5), 0); > + gpio_set_value(S5P6450_GPN(5), 1); > + gpio_free(S5P6450_GPN(5)); > + } > + } > +} > + > +struct plat_lcd_data smdk64x0_lcd_power_data = { > + .set_power = smdk64x0_lte480_reset_power, > +}; > + > +struct platform_device smdk64x0_lcd_lte480wv = { > + .name = "platform-lcd", > + .dev = { > + .parent = &s3c_device_fb.dev, > + .platform_data = &smdk64x0_lcd_power_data, > + } > +}; > -- > 1.7.0.4 Well, I think, the smdk64x0-common-fb.c is not nice :( Sorry for bothering...but I think the old version is better because of overhead of adding file... As I know, you need to fix small changes, please re-submit your whole series except 1st one. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd.
next prev parent reply other threads:[~2011-09-07 7:06 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-07-27 17:31 [PATCH V3 0/7] ARM: S5P64X0: Add Framebuffer support Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar 2011-07-27 17:31 ` [PATCH V3 1/7] video: s3c-fb: Add S5P64X0 specific s3c_fb_driverdata Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar 2011-09-07 7:06 ` Kukjin Kim 2011-09-07 7:06 ` Kukjin Kim 2011-07-27 17:31 ` [PATCH V3 2/7] ARM: S5P64X0: Add register base and IRQ for Framebuffer Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar 2011-07-27 17:31 ` [PATCH V3 3/7] ARM: S5P64X0: Set s3c_device_fb name Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar 2011-07-27 17:31 ` [PATCH V3 4/7] ARM: S5P64X0: Add GPIO and SPCON settings for LCD Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar 2011-09-07 7:06 ` Kukjin Kim 2011-09-07 7:06 ` Kukjin Kim 2011-07-27 17:31 ` [PATCH V3 5/7] ARM: S5P64X0: Add file to hold common Framebuffer and LCD code Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar 2011-09-07 7:06 ` Kukjin Kim [this message] 2011-09-07 7:06 ` Kukjin Kim 2011-07-27 17:31 ` [PATCH V3 6/7] ARM: S5P6440: Enable LCD-LTE480 and Framebuffer support Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar 2011-07-27 17:31 ` [PATCH V3 7/7] ARM: S5P6450: " Ajay Kumar 2011-07-27 17:31 ` Ajay Kumar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='000a01cc6d2c$b8529430$28f7bc90$%kim@samsung.com' \ --to=kgene.kim@samsung.com \ --cc=ajaykumar.rs@samsung.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-samsung-soc@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.