|
@@ -29,12 +29,6 @@
|
|
|
|
|
|
#include "fsl_diu_fb.h"
|
|
#include "fsl_diu_fb.h"
|
|
|
|
|
|
-#ifdef DEBUG
|
|
|
|
-#define DPRINTF(fmt, args...) printf("%s: " fmt,__FUNCTION__,## args)
|
|
|
|
-#else
|
|
|
|
-#define DPRINTF(fmt, args...)
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
struct fb_videomode {
|
|
struct fb_videomode {
|
|
const char *name; /* optional */
|
|
const char *name; /* optional */
|
|
unsigned int refresh; /* optional */
|
|
unsigned int refresh; /* optional */
|
|
@@ -210,7 +204,7 @@ int fsl_diu_init(int xres,
|
|
unsigned char *gamma_table_base;
|
|
unsigned char *gamma_table_base;
|
|
unsigned int i, j;
|
|
unsigned int i, j;
|
|
|
|
|
|
- DPRINTF("Enter fsl_diu_init\n");
|
|
|
|
|
|
+ debug("Enter fsl_diu_init\n");
|
|
dr.diu_reg = (struct diu *) (CFG_DIU_ADDR);
|
|
dr.diu_reg = (struct diu *) (CFG_DIU_ADDR);
|
|
hw = (struct diu *) dr.diu_reg;
|
|
hw = (struct diu *) dr.diu_reg;
|
|
|
|
|
|
@@ -224,10 +218,10 @@ int fsl_diu_init(int xres,
|
|
|
|
|
|
if (0 == fb_initialized) {
|
|
if (0 == fb_initialized) {
|
|
allocate_buf(&gamma, 768, 32);
|
|
allocate_buf(&gamma, 768, 32);
|
|
- DPRINTF("gamma is allocated @ 0x%x\n",
|
|
|
|
|
|
+ debug("gamma is allocated @ 0x%x\n",
|
|
(unsigned int)gamma.paddr);
|
|
(unsigned int)gamma.paddr);
|
|
allocate_buf(&cursor, MAX_CURS * MAX_CURS * 2, 32);
|
|
allocate_buf(&cursor, MAX_CURS * MAX_CURS * 2, 32);
|
|
- DPRINTF("curosr is allocated @ 0x%x\n",
|
|
|
|
|
|
+ debug("curosr is allocated @ 0x%x\n",
|
|
(unsigned int)cursor.paddr);
|
|
(unsigned int)cursor.paddr);
|
|
|
|
|
|
/* create a dummy fb and dummy ad */
|
|
/* create a dummy fb and dummy ad */
|
|
@@ -255,8 +249,8 @@ int fsl_diu_init(int xres,
|
|
dr.diu_reg->desc[0] = (unsigned int) &dummy_ad;
|
|
dr.diu_reg->desc[0] = (unsigned int) &dummy_ad;
|
|
dr.diu_reg->desc[1] = (unsigned int) &dummy_ad;
|
|
dr.diu_reg->desc[1] = (unsigned int) &dummy_ad;
|
|
dr.diu_reg->desc[2] = (unsigned int) &dummy_ad;
|
|
dr.diu_reg->desc[2] = (unsigned int) &dummy_ad;
|
|
- DPRINTF("dummy dr.diu_reg->desc[0] = 0x%x\n", dr.diu_reg->desc[0]);
|
|
|
|
- DPRINTF("dummy desc[0] = 0x%x\n", hw->desc[0]);
|
|
|
|
|
|
+ debug("dummy dr.diu_reg->desc[0] = 0x%x\n", dr.diu_reg->desc[0]);
|
|
|
|
+ debug("dummy desc[0] = 0x%x\n", hw->desc[0]);
|
|
|
|
|
|
/* read mode info */
|
|
/* read mode info */
|
|
var->xres = fsl_diu_mode_db->xres;
|
|
var->xres = fsl_diu_mode_db->xres;
|
|
@@ -294,7 +288,7 @@ int fsl_diu_init(int xres,
|
|
ad->ckmin_b = 255;
|
|
ad->ckmin_b = 255;
|
|
|
|
|
|
gamma_table_base = gamma.paddr;
|
|
gamma_table_base = gamma.paddr;
|
|
- DPRINTF("gamma_table_base is allocated @ 0x%x\n",
|
|
|
|
|
|
+ debug("gamma_table_base is allocated @ 0x%x\n",
|
|
(unsigned int)gamma_table_base);
|
|
(unsigned int)gamma_table_base);
|
|
|
|
|
|
/* Prep for DIU init - gamma table */
|
|
/* Prep for DIU init - gamma table */
|
|
@@ -304,7 +298,7 @@ int fsl_diu_init(int xres,
|
|
*gamma_table_base++ = j;
|
|
*gamma_table_base++ = j;
|
|
|
|
|
|
if (gamma_fix == 1) { /* fix the gamma */
|
|
if (gamma_fix == 1) { /* fix the gamma */
|
|
- DPRINTF("Fix gamma table\n");
|
|
|
|
|
|
+ debug("Fix gamma table\n");
|
|
gamma_table_base = gamma.paddr;
|
|
gamma_table_base = gamma.paddr;
|
|
for (i = 0; i < 256*3; i++) {
|
|
for (i = 0; i < 256*3; i++) {
|
|
gamma_table_base[i] = (gamma_table_base[i] << 2)
|
|
gamma_table_base[i] = (gamma_table_base[i] << 2)
|
|
@@ -312,7 +306,7 @@ int fsl_diu_init(int xres,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- DPRINTF("update-lcdc: HW - %p\n Disabling DIU\n", hw);
|
|
|
|
|
|
+ debug("update-lcdc: HW - %p\n Disabling DIU\n", hw);
|
|
|
|
|
|
/* Program DIU registers */
|
|
/* Program DIU registers */
|
|
|
|
|
|
@@ -337,7 +331,7 @@ int fsl_diu_init(int xres,
|
|
hw->plut = 0x01F5F666;
|
|
hw->plut = 0x01F5F666;
|
|
|
|
|
|
/* Pixel Clock configuration */
|
|
/* Pixel Clock configuration */
|
|
- DPRINTF("DIU pixclock in ps - %d\n", var->pixclock);
|
|
|
|
|
|
+ debug("DIU pixclock in ps - %d\n", var->pixclock);
|
|
diu_set_pixel_clock(var->pixclock);
|
|
diu_set_pixel_clock(var->pixclock);
|
|
|
|
|
|
fb_initialized = 1;
|
|
fb_initialized = 1;
|
|
@@ -345,7 +339,7 @@ int fsl_diu_init(int xres,
|
|
if (splash_bmp) {
|
|
if (splash_bmp) {
|
|
info->logo_height = fsl_diu_display_bmp(splash_bmp, 0, 0, 0);
|
|
info->logo_height = fsl_diu_display_bmp(splash_bmp, 0, 0, 0);
|
|
info->logo_size = info->logo_height * info->line_length;
|
|
info->logo_size = info->logo_height * info->line_length;
|
|
- DPRINTF("logo height %d, logo_size 0x%x\n",
|
|
|
|
|
|
+ debug("logo height %d, logo_size 0x%x\n",
|
|
info->logo_height,info->logo_size);
|
|
info->logo_height,info->logo_size);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -374,10 +368,10 @@ static int fsl_diu_enable_panel(struct fb_info *info)
|
|
struct diu *hw = dr.diu_reg;
|
|
struct diu *hw = dr.diu_reg;
|
|
struct diu_ad *ad = &fsl_diu_fb_ad;
|
|
struct diu_ad *ad = &fsl_diu_fb_ad;
|
|
|
|
|
|
- DPRINTF("Entered: enable_panel\n");
|
|
|
|
|
|
+ debug("Entered: enable_panel\n");
|
|
if (hw->desc[0] != (unsigned int)ad)
|
|
if (hw->desc[0] != (unsigned int)ad)
|
|
hw->desc[0] = (unsigned int)ad;
|
|
hw->desc[0] = (unsigned int)ad;
|
|
- DPRINTF("desc[0] = 0x%x\n", hw->desc[0]);
|
|
|
|
|
|
+ debug("desc[0] = 0x%x\n", hw->desc[0]);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -385,7 +379,7 @@ static int fsl_diu_disable_panel(struct fb_info *info)
|
|
{
|
|
{
|
|
struct diu *hw = dr.diu_reg;
|
|
struct diu *hw = dr.diu_reg;
|
|
|
|
|
|
- DPRINTF("Entered: disable_panel\n");
|
|
|
|
|
|
+ debug("Entered: disable_panel\n");
|
|
if (hw->desc[0] != (unsigned int)&dummy_ad)
|
|
if (hw->desc[0] != (unsigned int)&dummy_ad)
|
|
hw->desc[0] = (unsigned int)&dummy_ad;
|
|
hw->desc[0] = (unsigned int)&dummy_ad;
|
|
return 0;
|
|
return 0;
|
|
@@ -396,10 +390,10 @@ static int map_video_memory(struct fb_info *info, unsigned long bytes_align)
|
|
unsigned long offset;
|
|
unsigned long offset;
|
|
unsigned long mask;
|
|
unsigned long mask;
|
|
|
|
|
|
- DPRINTF("Entered: map_video_memory\n");
|
|
|
|
|
|
+ debug("Entered: map_video_memory\n");
|
|
/* allocate maximum 1280*1024 with 32bpp */
|
|
/* allocate maximum 1280*1024 with 32bpp */
|
|
info->smem_len = 1280 * 4 *1024 + bytes_align;
|
|
info->smem_len = 1280 * 4 *1024 + bytes_align;
|
|
- DPRINTF("MAP_VIDEO_MEMORY: smem_len = %d\n", info->smem_len);
|
|
|
|
|
|
+ debug("MAP_VIDEO_MEMORY: smem_len = %d\n", info->smem_len);
|
|
info->screen_base = malloc(info->smem_len);
|
|
info->screen_base = malloc(info->smem_len);
|
|
if (info->screen_base == NULL) {
|
|
if (info->screen_base == NULL) {
|
|
printf("Unable to allocate fb memory\n");
|
|
printf("Unable to allocate fb memory\n");
|
|
@@ -416,7 +410,7 @@ static int map_video_memory(struct fb_info *info, unsigned long bytes_align)
|
|
|
|
|
|
info->screen_size = info->smem_len;
|
|
info->screen_size = info->smem_len;
|
|
|
|
|
|
- DPRINTF("Allocated fb @ 0x%08lx, size=%d.\n",
|
|
|
|
|
|
+ debug("Allocated fb @ 0x%08lx, size=%d.\n",
|
|
info->smem_start, info->smem_len);
|
|
info->smem_start, info->smem_len);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
@@ -426,19 +420,19 @@ static void enable_lcdc(void)
|
|
{
|
|
{
|
|
struct diu *hw = dr.diu_reg;
|
|
struct diu *hw = dr.diu_reg;
|
|
|
|
|
|
- DPRINTF("Entered: enable_lcdc, fb_enabled = %d\n", fb_enabled);
|
|
|
|
|
|
+ debug("Entered: enable_lcdc, fb_enabled = %d\n", fb_enabled);
|
|
if (!fb_enabled) {
|
|
if (!fb_enabled) {
|
|
hw->diu_mode = dr.mode;
|
|
hw->diu_mode = dr.mode;
|
|
fb_enabled++;
|
|
fb_enabled++;
|
|
}
|
|
}
|
|
- DPRINTF("diu_mode = %d\n", hw->diu_mode);
|
|
|
|
|
|
+ debug("diu_mode = %d\n", hw->diu_mode);
|
|
}
|
|
}
|
|
|
|
|
|
static void disable_lcdc(void)
|
|
static void disable_lcdc(void)
|
|
{
|
|
{
|
|
struct diu *hw = dr.diu_reg;
|
|
struct diu *hw = dr.diu_reg;
|
|
|
|
|
|
- DPRINTF("Entered: disable_lcdc, fb_enabled = %d\n", fb_enabled);
|
|
|
|
|
|
+ debug("Entered: disable_lcdc, fb_enabled = %d\n", fb_enabled);
|
|
if (fb_enabled) {
|
|
if (fb_enabled) {
|
|
hw->diu_mode = 0;
|
|
hw->diu_mode = 0;
|
|
fb_enabled = 0;
|
|
fb_enabled = 0;
|
|
@@ -453,7 +447,7 @@ static int allocate_buf(struct diu_addr *buf, u32 size, u32 bytes_align)
|
|
u32 offset, ssize;
|
|
u32 offset, ssize;
|
|
u32 mask;
|
|
u32 mask;
|
|
|
|
|
|
- DPRINTF("Entered: allocate_buf\n");
|
|
|
|
|
|
+ debug("Entered: allocate_buf\n");
|
|
ssize = size + bytes_align;
|
|
ssize = size + bytes_align;
|
|
buf->paddr = malloc(ssize);
|
|
buf->paddr = malloc(ssize);
|
|
if (!buf->paddr)
|
|
if (!buf->paddr)
|
|
@@ -495,16 +489,16 @@ int fsl_diu_display_bmp(unsigned char *bmp,
|
|
bitmap = bmp + raster;
|
|
bitmap = bmp + raster;
|
|
cpp = info->var.bits_per_pixel / 8;
|
|
cpp = info->var.bits_per_pixel / 8;
|
|
|
|
|
|
- DPRINTF("bmp = 0x%08x\n", (unsigned int)bmp);
|
|
|
|
- DPRINTF("bitmap = 0x%08x\n", (unsigned int)bitmap);
|
|
|
|
- DPRINTF("width = %d\n", width);
|
|
|
|
- DPRINTF("height = %d\n", height);
|
|
|
|
- DPRINTF("bpp = %d\n", bpp);
|
|
|
|
- DPRINTF("ncolors = %d\n", ncolors);
|
|
|
|
|
|
+ debug("bmp = 0x%08x\n", (unsigned int)bmp);
|
|
|
|
+ debug("bitmap = 0x%08x\n", (unsigned int)bitmap);
|
|
|
|
+ debug("width = %d\n", width);
|
|
|
|
+ debug("height = %d\n", height);
|
|
|
|
+ debug("bpp = %d\n", bpp);
|
|
|
|
+ debug("ncolors = %d\n", ncolors);
|
|
|
|
|
|
- DPRINTF("xres = %d\n", info->var.xres);
|
|
|
|
- DPRINTF("yres = %d\n", info->var.yres);
|
|
|
|
- DPRINTF("Screen_base = 0x%x\n", (unsigned int)info->screen_base);
|
|
|
|
|
|
+ debug("xres = %d\n", info->var.xres);
|
|
|
|
+ debug("yres = %d\n", info->var.yres);
|
|
|
|
+ debug("Screen_base = 0x%x\n", (unsigned int)info->screen_base);
|
|
|
|
|
|
if (((width+xoffset) > info->var.xres) ||
|
|
if (((width+xoffset) > info->var.xres) ||
|
|
((height+yoffset) > info->var.yres)) {
|
|
((height+yoffset) > info->var.yres)) {
|