mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
common/lcd.c: remove global lcd_base
lcd_base is available as gd->fb_base as well, there is no need to keep a seperate copy. For completeness the ack of Bo Shen is for the atmel part. Cc: Alessandro Rubini <rubini@unipv.it> Cc: Anatolij Gustschin <agust@denx.de> Cc: Bo Shen <voice.shen@atmel.com> Cc: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Marek Vasut <marek.vasut@gmail.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Simon Glass <sjg@chromium.org> Cc: Stelian Pop <stelian@popies.net> Cc: Tom Warren <twarren@nvidia.com> Acked-by: Bo Shen <voice.shen@atmel.com> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> [agust: also fix cm_t35 board while rebasing] Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
f1d205a19c
commit
00a0ca5986
10 changed files with 9 additions and 39 deletions
|
@ -381,8 +381,6 @@ static enum display_type env_parse_displaytype(char *displaytype)
|
||||||
return NONE;
|
return NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *lcd_base;
|
|
||||||
|
|
||||||
void lcd_ctrl_init(void *lcdbase)
|
void lcd_ctrl_init(void *lcdbase)
|
||||||
{
|
{
|
||||||
struct prcm *prcm = (struct prcm *)PRCM_BASE;
|
struct prcm *prcm = (struct prcm *)PRCM_BASE;
|
||||||
|
|
|
@ -68,10 +68,6 @@ vidinfo_t panel_info = {
|
||||||
LCD_WIDTH, LCD_HEIGHT, LCD_BPP
|
LCD_WIDTH, LCD_HEIGHT, LCD_BPP
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Frame buffer memory information
|
|
||||||
*/
|
|
||||||
void *lcd_base; /* Start of framebuffer memory */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The device we use to communicate with PSoC
|
* The device we use to communicate with PSoC
|
||||||
|
@ -147,12 +143,12 @@ void lcd_enable (void)
|
||||||
|
|
||||||
#if !defined(SWAPPED_LCD)
|
#if !defined(SWAPPED_LCD)
|
||||||
for (i=0; i<fb_size; i++) {
|
for (i=0; i<fb_size; i++) {
|
||||||
serial_putc_raw_dev (PSOC_PSC, ((char *)lcd_base)[i]);
|
serial_putc_raw_dev(PSOC_PSC, ((char *)gd->fb_base)[i]);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
int x, y, pwidth;
|
int x, y, pwidth;
|
||||||
char *p = (char *)lcd_base;
|
char *p = (char *)gd->fb_base;
|
||||||
|
|
||||||
pwidth = ((panel_info.vl_col+7) >> 3);
|
pwidth = ((panel_info.vl_col+7) >> 3);
|
||||||
for (y=0; y<panel_info.vl_row; y++) {
|
for (y=0; y<panel_info.vl_row; y++) {
|
||||||
|
|
|
@ -109,6 +109,7 @@ static short console_col;
|
||||||
static short console_row;
|
static short console_row;
|
||||||
|
|
||||||
static void *lcd_console_address;
|
static void *lcd_console_address;
|
||||||
|
static void *lcd_base; /* Start of framebuffer memory */
|
||||||
|
|
||||||
static char lcd_flush_dcache; /* 1 to flush dcache after each lcd update */
|
static char lcd_flush_dcache; /* 1 to flush dcache after each lcd update */
|
||||||
|
|
||||||
|
|
|
@ -29,8 +29,6 @@
|
||||||
#include <lcd.h>
|
#include <lcd.h>
|
||||||
#include <atmel_hlcdc.h>
|
#include <atmel_hlcdc.h>
|
||||||
|
|
||||||
void *lcd_base; /* Start of framebuffer memory */
|
|
||||||
|
|
||||||
/* configurable parameters */
|
/* configurable parameters */
|
||||||
#define ATMEL_LCDC_CVAL_DEFAULT 0xc8
|
#define ATMEL_LCDC_CVAL_DEFAULT 0xc8
|
||||||
#define ATMEL_LCDC_DMA_BURST_LEN 8
|
#define ATMEL_LCDC_DMA_BURST_LEN 8
|
||||||
|
|
|
@ -29,8 +29,6 @@
|
||||||
#include <lcd.h>
|
#include <lcd.h>
|
||||||
#include <atmel_lcdc.h>
|
#include <atmel_lcdc.h>
|
||||||
|
|
||||||
void *lcd_base; /* Start of framebuffer memory */
|
|
||||||
|
|
||||||
/* configurable parameters */
|
/* configurable parameters */
|
||||||
#define ATMEL_LCDC_CVAL_DEFAULT 0xc8
|
#define ATMEL_LCDC_CVAL_DEFAULT 0xc8
|
||||||
#define ATMEL_LCDC_DMA_BURST_LEN 8
|
#define ATMEL_LCDC_DMA_BURST_LEN 8
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
#include "exynos_fb.h"
|
#include "exynos_fb.h"
|
||||||
|
|
||||||
void *lcd_base;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
static unsigned int panel_width, panel_height;
|
static unsigned int panel_width, panel_height;
|
||||||
|
|
||||||
|
@ -44,11 +44,9 @@ static void exynos_lcd_init_mem(void *lcdbase, vidinfo_t *vid)
|
||||||
|
|
||||||
fb_size = vid->vl_row * vid->vl_col * (NBITS(vid->vl_bpix) >> 3);
|
fb_size = vid->vl_row * vid->vl_col * (NBITS(vid->vl_bpix) >> 3);
|
||||||
|
|
||||||
lcd_base = lcdbase;
|
|
||||||
|
|
||||||
palette_size = NBITS(vid->vl_bpix) == 8 ? 256 : 16;
|
palette_size = NBITS(vid->vl_bpix) == 8 ? 256 : 16;
|
||||||
|
|
||||||
exynos_fimd_lcd_init_mem((unsigned long)lcd_base,
|
exynos_fimd_lcd_init_mem((unsigned long)lcdbase,
|
||||||
(unsigned long)fb_size, palette_size);
|
(unsigned long)fb_size, palette_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,7 +138,7 @@ void lcd_ctrl_init(void *lcdbase)
|
||||||
void lcd_enable(void)
|
void lcd_enable(void)
|
||||||
{
|
{
|
||||||
if (panel_info.logo_on) {
|
if (panel_info.logo_on) {
|
||||||
memset(lcd_base, 0, panel_width * panel_height *
|
memset((void *) gd->fb_base, 0, panel_width * panel_height *
|
||||||
(NBITS(panel_info.vl_bpix) >> 3));
|
(NBITS(panel_info.vl_bpix) >> 3));
|
||||||
#ifdef CONFIG_CMD_BMP
|
#ifdef CONFIG_CMD_BMP
|
||||||
draw_logo();
|
draw_logo();
|
||||||
|
|
|
@ -255,14 +255,6 @@ vidinfo_t panel_info = {
|
||||||
#endif
|
#endif
|
||||||
/*----------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Frame buffer memory information
|
|
||||||
*/
|
|
||||||
void *lcd_base; /* Start of framebuffer memory */
|
|
||||||
|
|
||||||
/************************************************************************/
|
|
||||||
|
|
||||||
void lcd_ctrl_init (void *lcdbase);
|
void lcd_ctrl_init (void *lcdbase);
|
||||||
void lcd_enable (void);
|
void lcd_enable (void);
|
||||||
#if LCD_BPP == LCD_COLOR8
|
#if LCD_BPP == LCD_COLOR8
|
||||||
|
@ -392,8 +384,8 @@ void lcd_ctrl_init (void *lcdbase)
|
||||||
* BIG NOTE: This has to be modified to load A and B depending
|
* BIG NOTE: This has to be modified to load A and B depending
|
||||||
* upon the split mode of the LCD.
|
* upon the split mode of the LCD.
|
||||||
*/
|
*/
|
||||||
lcdp->lcd_lcfaa = (ulong)lcd_base;
|
lcdp->lcd_lcfaa = (ulong)lcdbase;
|
||||||
lcdp->lcd_lcfba = (ulong)lcd_base;
|
lcdp->lcd_lcfba = (ulong)lcdbase;
|
||||||
|
|
||||||
/* MORE HACKS...This must be updated according to 823 manual
|
/* MORE HACKS...This must be updated according to 823 manual
|
||||||
* for different panels.
|
* for different panels.
|
||||||
|
|
|
@ -332,8 +332,6 @@ void lcd_getcolreg (ushort regno, ushort *red, ushort *green, ushort *blue);
|
||||||
void lcd_ctrl_init (void *lcdbase);
|
void lcd_ctrl_init (void *lcdbase);
|
||||||
void lcd_enable (void);
|
void lcd_enable (void);
|
||||||
|
|
||||||
void *lcd_base; /* Start of framebuffer memory */
|
|
||||||
|
|
||||||
static int pxafb_init_mem (void *lcdbase, vidinfo_t *vid);
|
static int pxafb_init_mem (void *lcdbase, vidinfo_t *vid);
|
||||||
static void pxafb_setup_gpio (vidinfo_t *vid);
|
static void pxafb_setup_gpio (vidinfo_t *vid);
|
||||||
static void pxafb_enable_controller (vidinfo_t *vid);
|
static void pxafb_enable_controller (vidinfo_t *vid);
|
||||||
|
|
|
@ -60,8 +60,6 @@ enum {
|
||||||
LCD_MAX_LOG2_BPP = 4, /* 2^4 = 16 bpp */
|
LCD_MAX_LOG2_BPP = 4, /* 2^4 = 16 bpp */
|
||||||
};
|
};
|
||||||
|
|
||||||
void *lcd_base; /* Start of framebuffer memory */
|
|
||||||
|
|
||||||
vidinfo_t panel_info = {
|
vidinfo_t panel_info = {
|
||||||
/* Insert a value here so that we don't end up in the BSS */
|
/* Insert a value here so that we don't end up in the BSS */
|
||||||
.vl_col = -1,
|
.vl_col = -1,
|
||||||
|
@ -90,8 +88,6 @@ void lcd_ctrl_init(void *lcdbase)
|
||||||
|
|
||||||
assert(disp_config);
|
assert(disp_config);
|
||||||
|
|
||||||
lcd_base = (void *)disp_config->frame_buffer;
|
|
||||||
|
|
||||||
/* Make sure that we can acommodate the selected LCD */
|
/* Make sure that we can acommodate the selected LCD */
|
||||||
assert(disp_config->width <= LCD_MAX_WIDTH);
|
assert(disp_config->width <= LCD_MAX_WIDTH);
|
||||||
assert(disp_config->height <= LCD_MAX_HEIGHT);
|
assert(disp_config->height <= LCD_MAX_HEIGHT);
|
||||||
|
@ -112,7 +108,7 @@ void lcd_ctrl_init(void *lcdbase)
|
||||||
/* Enable flushing after LCD writes if requested */
|
/* Enable flushing after LCD writes if requested */
|
||||||
lcd_set_flush_dcache(config.cache_type & FDT_LCD_CACHE_FLUSH);
|
lcd_set_flush_dcache(config.cache_type & FDT_LCD_CACHE_FLUSH);
|
||||||
|
|
||||||
debug("LCD frame buffer at %p\n", lcd_base);
|
debug("LCD frame buffer at %08X\n", disp_config->frame_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
ulong calc_fbsize(void)
|
ulong calc_fbsize(void)
|
||||||
|
|
|
@ -33,11 +33,6 @@ extern char lcd_is_enabled;
|
||||||
|
|
||||||
extern int lcd_line_length;
|
extern int lcd_line_length;
|
||||||
|
|
||||||
/*
|
|
||||||
* Frame buffer memory information
|
|
||||||
*/
|
|
||||||
extern void *lcd_base; /* Start of framebuffer memory */
|
|
||||||
|
|
||||||
extern struct vidinfo panel_info;
|
extern struct vidinfo panel_info;
|
||||||
|
|
||||||
extern void lcd_ctrl_init (void *lcdbase);
|
extern void lcd_ctrl_init (void *lcdbase);
|
||||||
|
|
Loading…
Reference in a new issue