diff options
author | Pawel Osciak <p.osciak@samsung.com> | 2009-11-17 02:41:19 -0500 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-11-30 20:33:16 -0500 |
commit | edd6e3f89d7fe245149669400bd213140c16d6e4 (patch) | |
tree | fd738a20b916fbe90e341a260b791601278a4f57 /arch/arm/plat-s5pc1xx | |
parent | d7ab33a0b3511e3d738a7b52f20ee83daede4465 (diff) |
ARM: S5PC1xx: add platform helpers for s3c-fb device
Samsung S5PC100 has LCD-controller compatible with the one known from
previous SoCs series. Add required platform setup and support code that
it can be used with s3c-fb driver.
Signed-off-by: Pawel Osciak <p.osciak@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/plat-s5pc1xx')
-rw-r--r-- | arch/arm/plat-s5pc1xx/Kconfig | 5 | ||||
-rw-r--r-- | arch/arm/plat-s5pc1xx/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s5pc1xx/setup-fb-24bpp.c | 49 |
3 files changed, 55 insertions, 0 deletions
diff --git a/arch/arm/plat-s5pc1xx/Kconfig b/arch/arm/plat-s5pc1xx/Kconfig index 86edd27c7f24..6ac48a6fba78 100644 --- a/arch/arm/plat-s5pc1xx/Kconfig +++ b/arch/arm/plat-s5pc1xx/Kconfig | |||
@@ -37,6 +37,11 @@ config CPU_S5PC100_CLOCK | |||
37 | 37 | ||
38 | # platform specific device setup | 38 | # platform specific device setup |
39 | 39 | ||
40 | config S5PC1XX_SETUP_FB_24BPP | ||
41 | bool | ||
42 | help | ||
43 | Common setup code for S5PC1XX with an 24bpp RGB display helper. | ||
44 | |||
40 | config S5PC100_SETUP_I2C0 | 45 | config S5PC100_SETUP_I2C0 |
41 | bool | 46 | bool |
42 | default y | 47 | default y |
diff --git a/arch/arm/plat-s5pc1xx/Makefile b/arch/arm/plat-s5pc1xx/Makefile index e860813cb8de..3d2ac7150b15 100644 --- a/arch/arm/plat-s5pc1xx/Makefile +++ b/arch/arm/plat-s5pc1xx/Makefile | |||
@@ -25,5 +25,6 @@ obj-$(CONFIG_CPU_S5PC100_CLOCK) += s5pc100-clock.o | |||
25 | # Device setup | 25 | # Device setup |
26 | 26 | ||
27 | obj-$(CONFIG_S5P_GPIO_CFG_S5PC1XX) += gpio-config.o | 27 | obj-$(CONFIG_S5P_GPIO_CFG_S5PC1XX) += gpio-config.o |
28 | obj-$(CONFIG_S5PC1XX_SETUP_FB_24BPP) += setup-fb-24bpp.o | ||
28 | obj-$(CONFIG_S5PC100_SETUP_I2C0) += setup-i2c0.o | 29 | obj-$(CONFIG_S5PC100_SETUP_I2C0) += setup-i2c0.o |
29 | obj-$(CONFIG_S5PC100_SETUP_I2C1) += setup-i2c1.o | 30 | obj-$(CONFIG_S5PC100_SETUP_I2C1) += setup-i2c1.o |
diff --git a/arch/arm/plat-s5pc1xx/setup-fb-24bpp.c b/arch/arm/plat-s5pc1xx/setup-fb-24bpp.c new file mode 100644 index 000000000000..1a63768a9a2e --- /dev/null +++ b/arch/arm/plat-s5pc1xx/setup-fb-24bpp.c | |||
@@ -0,0 +1,49 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/plat-s5pc100/setup-fb-24bpp.c | ||
3 | * | ||
4 | * Copyright 2009 Samsung Electronics | ||
5 | * | ||
6 | * Base S5PC1XX setup information for 24bpp LCD framebuffer | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #include <linux/kernel.h> | ||
14 | #include <linux/types.h> | ||
15 | #include <linux/fb.h> | ||
16 | #include <linux/gpio.h> | ||
17 | |||
18 | #include <mach/regs-fb.h> | ||
19 | #include <mach/map.h> | ||
20 | #include <plat/fb.h> | ||
21 | #include <plat/gpio-cfg.h> | ||
22 | #include <plat/gpio-cfg-s5pc1xx.h> | ||
23 | |||
24 | #define DISR_OFFSET 0x7008 | ||
25 | |||
26 | void s5pc100_fb_gpio_setup_24bpp(void) | ||
27 | { | ||
28 | unsigned int gpio = 0; | ||
29 | |||
30 | for (gpio = S5PC100_GPF0(0); gpio <= S5PC100_GPF0(7); gpio++) { | ||
31 | s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); | ||
32 | s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); | ||
33 | } | ||
34 | |||
35 | for (gpio = S5PC100_GPF1(0); gpio <= S5PC100_GPF1(7); gpio++) { | ||
36 | s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); | ||
37 | s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); | ||
38 | } | ||
39 | |||
40 | for (gpio = S5PC100_GPF2(0); gpio <= S5PC100_GPF2(7); gpio++) { | ||
41 | s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); | ||
42 | s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); | ||
43 | } | ||
44 | |||
45 | for (gpio = S5PC100_GPF3(0); gpio <= S5PC100_GPF3(3); gpio++) { | ||
46 | s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2)); | ||
47 | s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE); | ||
48 | } | ||
49 | } | ||