mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-12 16:11:04 +00:00
ARM: S5PV210: add framebuffer platform helpers for s5pv210 based machines
This patch adds common framebuffer device helpers and register defines for S5PV210 based machines. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
b315032f53
commit
5b696a67c3
@ -25,6 +25,11 @@ config MACH_AQUILA
|
||||
help
|
||||
Machine support for the Samsung Aquila target based on S5PC110 SoC
|
||||
|
||||
config S5PV210_SETUP_FB_24BPP
|
||||
bool
|
||||
help
|
||||
Common setup code for S5PV210 with an 24bpp RGB display helper.
|
||||
|
||||
config MACH_SMDKV210
|
||||
bool "SMDKV210"
|
||||
select CPU_S5PV210
|
||||
|
@ -24,3 +24,4 @@ obj-$(CONFIG_MACH_SMDKC110) += mach-smdkc110.o
|
||||
# device support
|
||||
|
||||
obj-y += dev-audio.o
|
||||
obj-$(CONFIG_S5PV210_SETUP_FB_24BPP) += setup-fb-24bpp.o
|
||||
|
@ -143,4 +143,9 @@
|
||||
|
||||
#define NR_IRQS (IRQ_EINT(31) + 1)
|
||||
|
||||
/* Compatibility */
|
||||
#define IRQ_LCD_FIFO IRQ_LCD0
|
||||
#define IRQ_LCD_VSYNC IRQ_LCD1
|
||||
#define IRQ_LCD_SYSTEM IRQ_LCD2
|
||||
|
||||
#endif /* ASM_ARCH_IRQS_H */
|
||||
|
@ -47,6 +47,8 @@
|
||||
#define S5PV210_PA_PDMA0 0xE0900000
|
||||
#define S5PV210_PA_PDMA1 0xE0A00000
|
||||
|
||||
#define S5PV210_PA_FB (0xF8000000)
|
||||
|
||||
#define S5PV210_PA_VIC0 (0xF2000000)
|
||||
#define S5P_PA_VIC0 S5PV210_PA_VIC0
|
||||
|
||||
@ -78,5 +80,6 @@
|
||||
/* compatibiltiy defines. */
|
||||
#define S3C_PA_UART S5PV210_PA_UART
|
||||
#define S3C_PA_IIC S5PV210_PA_IIC0
|
||||
#define S3C_PA_FB S5PV210_PA_FB
|
||||
|
||||
#endif /* __ASM_ARCH_MAP_H */
|
||||
|
@ -126,6 +126,7 @@
|
||||
|
||||
#define S5P_RST_STAT S5P_CLKREG(0xA000)
|
||||
#define S5P_OSC_CON S5P_CLKREG(0x8000)
|
||||
#define S5P_MDNIE_SEL S5P_CLKREG(0x7008)
|
||||
#define S5P_MIPI_PHY_CON0 S5P_CLKREG(0x7200)
|
||||
#define S5P_MIPI_PHY_CON1 S5P_CLKREG(0x7204)
|
||||
#define S5P_MIPI_CONTROL S5P_CLKREG(0xE814)
|
||||
|
62
arch/arm/mach-s5pv210/setup-fb-24bpp.c
Normal file
62
arch/arm/mach-s5pv210/setup-fb-24bpp.c
Normal file
@ -0,0 +1,62 @@
|
||||
/* linux/arch/arm/plat-s5pv210/setup-fb-24bpp.c
|
||||
*
|
||||
* Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com/
|
||||
*
|
||||
* Base s5pv210 setup information for 24bpp LCD 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/kernel.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/fb.h>
|
||||
|
||||
#include <mach/regs-fb.h>
|
||||
#include <mach/gpio.h>
|
||||
#include <mach/map.h>
|
||||
#include <plat/fb.h>
|
||||
#include <mach/regs-clock.h>
|
||||
#include <plat/gpio-cfg.h>
|
||||
|
||||
void s5pv210_fb_gpio_setup_24bpp(void)
|
||||
{
|
||||
unsigned int gpio = 0;
|
||||
|
||||
for (gpio = S5PV210_GPF0(0); gpio <= S5PV210_GPF0(7); gpio++) {
|
||||
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2));
|
||||
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
|
||||
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
|
||||
}
|
||||
|
||||
for (gpio = S5PV210_GPF1(0); gpio <= S5PV210_GPF1(7); gpio++) {
|
||||
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2));
|
||||
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
|
||||
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
|
||||
}
|
||||
|
||||
for (gpio = S5PV210_GPF2(0); gpio <= S5PV210_GPF2(7); gpio++) {
|
||||
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2));
|
||||
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
|
||||
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
|
||||
}
|
||||
|
||||
for (gpio = S5PV210_GPF3(0); gpio <= S5PV210_GPF3(3); gpio++) {
|
||||
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2));
|
||||
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
|
||||
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
|
||||
}
|
||||
|
||||
/* Set DISPLAY_CONTROL register for Display path selection.
|
||||
*
|
||||
* ouput | RGB | I80 | ITU
|
||||
* -----------------------------------
|
||||
* 00 | MIE | FIMD | FIMD
|
||||
* 01 | MDNIE | MDNIE | FIMD
|
||||
* 10 | FIMD | FIMD | FIMD
|
||||
* 11 | FIMD | FIMD | FIMD
|
||||
*/
|
||||
writel(0x2, S5P_MDNIE_SEL);
|
||||
}
|
@ -84,4 +84,11 @@ extern void s3c64xx_fb_gpio_setup_24bpp(void);
|
||||
*/
|
||||
extern void s5pc100_fb_gpio_setup_24bpp(void);
|
||||
|
||||
/**
|
||||
* s5pv210_fb_gpio_setup_24bpp() - S5PV210/S5PC110 setup function for 24bpp LCD
|
||||
*
|
||||
* Initialise the GPIO for an 24bpp LCD display on the RGB interface.
|
||||
*/
|
||||
extern void s5pv210_fb_gpio_setup_24bpp(void);
|
||||
|
||||
#endif /* __PLAT_S3C_FB_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user