From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 11/18] SMDKC100: enable S3C FrameBuffer
Date: Fri, 13 Nov 2009 23:34:07 +0000 [thread overview]
Message-ID: <20091113233407.GR4808@trinity.fluff.org> (raw)
In-Reply-To: <1258014122-18185-12-git-send-email-m.szyprowski@samsung.com>
On Thu, Nov 12, 2009 at 09:21:55AM +0100, Marek Szyprowski wrote:
> From: Kyungmin Park <kyungmin.park@samsung.com>
>
> From: Kyungmin Park <kyungmin.park@samsung.com>
>
> Add required machine definitions for s3c-fb device.
> A 800x480 lcd device (simmilar to the one known from SMDK6410 boards) has
> been defined. The lcd controller is attached to GPIO lines and can be
> enabled/disabled with platform-lcd driver.
>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
I'll see if this will apply and compile without the previous FB patches
until they've been sorted out.
> ---
> arch/arm/mach-s5pc100/Kconfig | 2 +
> arch/arm/mach-s5pc100/mach-smdkc100.c | 67 +++++++++++++++++++++++++++++++++
> 2 files changed, 69 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-s5pc100/Kconfig b/arch/arm/mach-s5pc100/Kconfig
> index b1a4ba5..5e6b9a3 100644
> --- a/arch/arm/mach-s5pc100/Kconfig
> +++ b/arch/arm/mach-s5pc100/Kconfig
> @@ -17,6 +17,8 @@ config CPU_S5PC100
> config MACH_SMDKC100
> bool "SMDKC100"
> select CPU_S5PC100
> + select S3C_DEV_FB
> select S5PC1XX_SETUP_I2C1
> + select S5PC1XX_SETUP_FB_24BPP
> help
> Machine support for the Samsung SMDKC100
> diff --git a/arch/arm/mach-s5pc100/mach-smdkc100.c b/arch/arm/mach-s5pc100/mach-smdkc100.c
> index 05bb20a..098956d 100644
> --- a/arch/arm/mach-s5pc100/mach-smdkc100.c
> +++ b/arch/arm/mach-s5pc100/mach-smdkc100.c
> @@ -27,16 +27,21 @@
> #include <asm/mach/map.h>
>
> #include <mach/map.h>
> +#include <mach/regs-fb.h>
> +#include <video/platform_lcd.h>
>
> #include <asm/irq.h>
> #include <asm/mach-types.h>
>
> #include <plat/regs-serial.h>
> +#include <plat/gpio-cfg.h>
> +#include <plat/regs-gpio.h>
>
> #include <plat/clock.h>
> #include <plat/devs.h>
> #include <plat/cpu.h>
> #include <plat/s5pc100.h>
> +#include <plat/fb.h>
>
> #define UCON (S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK)
> #define ULCON (S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB)
> @@ -73,9 +78,65 @@ static struct s3c2410_uartcfg smdkc100_uartcfgs[] __initdata = {
> },
> };
>
> +/* LCD power controller */
> +static void smdkc100_lcd_power_set(struct plat_lcd_data *pd,
> + unsigned int power)
> +{
> + /* backlight */
> + gpio_direction_output(S5PC100_GPD(0), power);
> +
> + if (power) {
> + /* module reset */
> + gpio_direction_output(S5PC100_GPH0(6), 1);
> + mdelay(100);
> + gpio_direction_output(S5PC100_GPH0(6), 0);
> + mdelay(10);
> + gpio_direction_output(S5PC100_GPH0(6), 1);
> + mdelay(10);
> + }
> +}
> +
> +static struct plat_lcd_data smdkc100_lcd_power_data = {
> + .set_power = smdkc100_lcd_power_set,
> +};
> +
> +static struct platform_device smdkc100_lcd_powerdev = {
> + .name = "platform-lcd",
> + .dev.parent = &s3c_device_fb.dev,
> + .dev.platform_data = &smdkc100_lcd_power_data,
> +};
> +
> +/* Frame Buffer */
> +static struct s3c_fb_pd_win smdkc100_fb_win0 = {
> + /* this is to ensure we use win0 */
> + .win_mode = {
> + .refresh = 70,
> + .pixclock = (8+13+3+800)*(7+5+1+480),
> + .left_margin = 8,
> + .right_margin = 13,
> + .upper_margin = 7,
> + .lower_margin = 5,
> + .hsync_len = 3,
> + .vsync_len = 1,
> + .xres = 800,
> + .yres = 480,
> + },
> + .max_bpp = 32,
> + .default_bpp = 16,
> +};
> +
> +static struct s3c_fb_platdata smdkc100_lcd_pdata __initdata = {
> + .win[0] = &smdkc100_fb_win0,
> + .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
> + .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
> + .setup_gpio = s5pc100_fb_gpio_setup_24bpp,
> +};
> +
> static struct map_desc smdkc100_iodesc[] = {};
>
> static struct platform_device *smdkc100_devices[] __initdata = {
> + &s3c_device_fb,
> + &smdkc100_lcd_powerdev,
> };
>
> static void __init smdkc100_map_io(void)
> @@ -87,6 +148,12 @@ static void __init smdkc100_map_io(void)
>
> static void __init smdkc100_machine_init(void)
> {
> + s3c_fb_set_platdata(&smdkc100_lcd_pdata);
> +
> + /* LCD init */
> + gpio_request(S5PC100_GPD(0), "GPD");
> + gpio_request(S5PC100_GPH0(6), "GPH0");
> + smdkc100_lcd_power_set(&smdkc100_lcd_power_data, 0);
> platform_add_devices(smdkc100_devices, ARRAY_SIZE(smdkc100_devices));
> }
>
> --
> 1.6.5
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
next prev parent reply other threads:[~2009-11-13 23:34 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-12 8:21 [PATCH] Update Samsung S5PC100 SoC support Marek Szyprowski
2009-11-12 8:21 ` [PATCH 01/18] ARM: MM: use 64bytes of L1 cache on plat S5PC1xx Marek Szyprowski
2009-11-12 8:21 ` [PATCH 02/18] ARM: S5PC1XX: registers rename Marek Szyprowski
2009-11-12 8:21 ` [PATCH 03/18] ARM: S5PC1XX: clock " Marek Szyprowski
2009-11-12 8:21 ` [PATCH 04/18] ARM: S5PC1XX: clocks reimplementation Marek Szyprowski
2009-11-12 8:21 ` [PATCH 05/18] ARM: S5PC1XX: add GPIO L banks to register definition Marek Szyprowski
2009-11-12 8:21 ` [PATCH 06/18] ARM: S5PC1XX: GPIO registers rename Marek Szyprowski
2009-11-12 8:21 ` [PATCH 07/18] ARM: S5PC1xx: add gpiolib and external/gpio interrupt support Marek Szyprowski
2009-11-12 8:21 ` [PATCH 08/18] ARM: S5PC1XX: add cpu idle and system reset support Marek Szyprowski
2009-11-12 8:21 ` [PATCH 09/18] ARM: S3C: Prepare s3c64xx-specific s3c-fb register definition for reuse Marek Szyprowski
2009-11-12 8:21 ` [PATCH 10/18] ARM: S5PC1xx: add platform helpers for s3c-fb device Marek Szyprowski
2009-11-12 8:21 ` [PATCH 11/18] SMDKC100: enable S3C FrameBuffer Marek Szyprowski
2009-11-12 8:21 ` [PATCH 12/18] drivers: fb: enable S3C FrameBuffer on S5PC1XX platform Marek Szyprowski
2009-11-12 8:21 ` [PATCH 13/18] ARM: S5PC1xx: add platform helpers for i2c adapter devices Marek Szyprowski
2009-11-12 8:21 ` [PATCH 14/18] SMDKC100: add I2C0 and I2C1 buses support Marek Szyprowski
2009-11-12 8:21 ` [PATCH 15/18] drivers: i2c: s3c2410-i2c also on S5PC1XX platform Marek Szyprowski
2009-11-12 8:22 ` [PATCH 16/18] ARM: S5PC1xx: add platform helpers for SDHCI host controllers Marek Szyprowski
2009-11-12 8:22 ` [PATCH 17/18] SMDKC100: add SDHCI controllers 0, 1 and 2 support Marek Szyprowski
2009-11-12 8:22 ` [PATCH 18/18] drivers: MMC: enable SDHCI-S3C on S5PC1XX platform Marek Szyprowski
2009-11-13 23:38 ` Ben Dooks
2009-11-13 23:37 ` [PATCH 16/18] ARM: S5PC1xx: add platform helpers for SDHCI host controllers Ben Dooks
2009-11-13 23:35 ` [PATCH 15/18] drivers: i2c: s3c2410-i2c also on S5PC1XX platform Ben Dooks
2009-11-13 23:34 ` [PATCH 12/18] drivers: fb: enable S3C FrameBuffer " Ben Dooks
2009-11-13 23:34 ` Ben Dooks [this message]
2009-11-13 23:32 ` [PATCH 09/18] ARM: S3C: Prepare s3c64xx-specific s3c-fb register definition for reuse Ben Dooks
2009-11-16 8:14 ` Marek Szyprowski
2009-11-13 23:29 ` [PATCH 07/18] ARM: S5PC1xx: add gpiolib and external/gpio interrupt support Ben Dooks
2009-11-16 8:14 ` Marek Szyprowski
2009-11-13 23:19 ` [PATCH 01/18] ARM: MM: use 64bytes of L1 cache on plat S5PC1xx Ben Dooks
2009-11-19 9:39 ` Russell King - ARM Linux
2009-11-19 10:35 ` Marek Szyprowski
2009-11-13 23:42 ` [PATCH] Update Samsung S5PC100 SoC support Ben Dooks
2009-11-13 23:53 ` Ben Dooks
2009-11-16 11:10 ` Marek Szyprowski
2009-11-14 8:21 ` Russell King - ARM Linux
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=20091113233407.GR4808@trinity.fluff.org \
--to=ben-linux@fluff.org \
--cc=linux-arm-kernel@lists.infradead.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).