diff options
-rw-r--r-- | common/lcd.c | 4 | ||||
-rw-r--r-- | drivers/video/ipu_disp.c | 33 | ||||
-rw-r--r-- | drivers/video/mxc_ipuv3_fb.c | 7 | ||||
-rw-r--r-- | include/configs/sandbox.h | 1 |
4 files changed, 13 insertions, 32 deletions
diff --git a/common/lcd.c b/common/lcd.c index 217ec9d..689d30e 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -1023,7 +1023,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y) switch (bmp_bpix) { case 1: /* pass through */ - case 8: + case 8: { #ifdef CONFIG_LCD_BMP_RLE8 u32 compression = get_unaligned_le32(&bmp->header.compression); if (compression == BMP_BI_RLE8) { @@ -1056,7 +1056,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y) fb -= byte_width + lcd_line_length; } break; - + } #if defined(CONFIG_BMP_16BPP) case 16: for (i = 0; i < height; ++i) { diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c index 948e1fc..48fee99 100644 --- a/drivers/video/ipu_disp.c +++ b/drivers/video/ipu_disp.c @@ -802,28 +802,6 @@ int ipu_pixfmt_to_map(uint32_t fmt) } /* - * This function is called to adapt synchronous LCD panel to IPU restriction. - */ -void adapt_panel_to_ipu_restricitions(uint32_t *pixel_clk, - uint16_t width, uint16_t height, - uint16_t h_start_width, - uint16_t h_end_width, - uint16_t v_start_width, - uint16_t *v_end_width) -{ - if (*v_end_width < 2) { - uint16_t total_width = width + h_start_width + h_end_width; - uint16_t total_height_old = height + v_start_width + - (*v_end_width); - uint16_t total_height_new = height + v_start_width + 2; - *v_end_width = 2; - *pixel_clk = (*pixel_clk) * total_width * total_height_new / - (total_width * total_height_old); - printf("WARNING: adapt panel end blank lines\n"); - } -} - -/* * This function is called to initialize a synchronous LCD panel. * * @param disp The DI the panel is attached to. @@ -880,14 +858,17 @@ int32_t ipu_init_sync_panel(int disp, uint32_t pixel_clk, if ((v_sync_width == 0) || (h_sync_width == 0)) return -EINVAL; - adapt_panel_to_ipu_restricitions(&pixel_clk, width, height, - h_start_width, h_end_width, - v_start_width, &v_end_width); + /* adapt panel to ipu restricitions */ + if (v_end_width < 2) { + v_end_width = 2; + puts("WARNING: v_end_width (lower_margin) must be >= 2, adjusted\n"); + } + h_total = width + h_sync_width + h_start_width + h_end_width; v_total = height + v_sync_width + v_start_width + v_end_width; /* Init clocking */ - debug("pixel clk = %d\n", pixel_clk); + debug("pixel clk = %dHz\n", pixel_clk); if (sig.ext_clk) { if (!(g_di1_tvout && (disp == 1))) { /*not round div for tvout*/ diff --git a/drivers/video/mxc_ipuv3_fb.c b/drivers/video/mxc_ipuv3_fb.c index f75d770..b20c19c 100644 --- a/drivers/video/mxc_ipuv3_fb.c +++ b/drivers/video/mxc_ipuv3_fb.c @@ -258,8 +258,7 @@ static int mxcfb_set_par(struct fb_info *fbi) if (fbi->var.sync & FB_SYNC_CLK_IDLE_EN) sig_cfg.clkidle_en = 1; - debug("pixclock = %ul Hz\n", - (u32) (PICOS2KHZ(fbi->var.pixclock) * 1000UL)); + debug("pixclock = %lu Hz\n", PICOS2KHZ(fbi->var.pixclock) * 1000UL); if (ipu_init_sync_panel(mxc_fbi->ipu_di, (PICOS2KHZ(fbi->var.pixclock)) * 1000UL, @@ -486,7 +485,7 @@ static struct fb_info *mxcfb_init_fbinfo(void) /* * Probe routine for the framebuffer driver. It is called during the - * driver binding process. The following functions are performed in + * driver binding process. The following functions are performed in * this routine: Framebuffer initialization, Memory allocation and * mapping, Framebuffer registration, IPU initialization. * @@ -542,7 +541,7 @@ static int mxcfb_probe(u32 interface_pix_fmt, uint8_t disp, mxcfb_set_fix(fbi); - /* alocate fb first */ + /* allocate fb first */ if (mxcfb_map_video_memory(fbi) < 0) return -ENOMEM; diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 6972643..022629f 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -172,6 +172,7 @@ #define CONFIG_CONSOLE_MUX #define CONFIG_SYS_CONSOLE_IS_IN_ENV #define LCD_BPP LCD_COLOR16 +#define CONFIG_LCD_BMP_RLE8 #define CONFIG_CROS_EC_KEYB #define CONFIG_KEYBOARD |