summaryrefslogtreecommitdiff
path: root/drivers/video/cfb_console.c
Commit message (Collapse)AuthorAgeLines
* video: Fix splash screen alignmentMatthias Weisser2013-03-21-7/+7
| | | | | | | | | | commit d484b52 "video: Skip bitmaps which do not fit into the screen in cfb_console" breaks splash screen alignment which is passed in as magic (BMP_ALIGN_CENTER) x/y coordinates. Moving the check after the alignment block fixes this. Signed-off-by: Matthias Weisser <weisserm@arcor.de> Acked-by: Simon Glass <sjg@chromium.org>
* video: Check for valid FB pointer before clearingDuncan Laurie2012-12-06-0/+2
| | | | | | | | | | | | This command will start erasing at memory address zero if there is not a valid framebuffer address that was found during video_init(). This is a common case with Chrome OS devices in normal mode when we do not execute the video option rom in coreboot. Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Skip bitmaps which do not fit into the screen in cfb_consoleVadim Bendebury2012-11-07-0/+7
| | | | | | | | | | | The cfb console driver is trying to prevent bitmaps to spill over the screen, but the calculations assume that at least part of the bitmap fits into the screen area. In reality there could be bitmap elements which are completely out of the screen area, they just need to be discarded. Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Implement additional video API functions in cfb_consoleStefan Reinauer2012-11-07-0/+42
| | | | | | | | | Implement the new video API functions to provide access to screen size, etc. Signed-off-by: Stefan Reinauer <reinauer@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* cfb_console: Add support for some ANSI terminal escape codesPali Rohár2012-10-30-9/+319
| | | | | | | | | | Add optional support for some ANSI escape sequences to the cfb_console driver. Define CONFIG_CFB_CONSOLE_ANSI to enable cursor moving, color reverting and clearing the cfb console via ANSI escape codes. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: cfb_console: add function to plot the logo area blackBastian Ruppert2012-10-01-4/+42
| | | | | | | Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de> CC: Anatolij Gustschin <agust@denx.de> CC: Tom Rini <trini@ti.com> CC: Stefano Babic <sbabic@denx.de>
* video: cfb_console: logo can be positioned via the splashpos variableBastian Ruppert2012-10-01-25/+69
| | | | | | | | | | Extend the driver for placing the video/bmp logo as specified by "splashpos" environment variable. Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de> Signed-off-by: Anatolij Gustschin <agust@denx.de> CC: Stefano Babic <sbabic@denx.de> Signed-off-by: Tom Rini <trini@ti.com>
* video: Rename CONFIG_VIDEO_MX5Fabio Estevam2012-07-10-1/+1
| | | | | | Rename CONFIG_VIDEO_MX5 as this driver can also be used on mx6. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* video: cfb_console: flush dcache for frame buffer in DRAMAnatolij Gustschin2012-06-05-0/+35
| | | | | | | | | | | Data cache flushing is required for frame buffer in RAM to fix the distorted console text output. Currently this text distortion is observed with cfb on beagleboard and N900 when running with data cache enabled. Reported-by: Pali Rohár <pali.rohar@gmail.com> Tested-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* cfb_console: Ignore bell characterPali Rohár2012-06-05-0/+3
| | | | Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
* cfb_console: Add console_clear_line functionPali Rohár2012-06-04-13/+36
| | | | | | | console_clear_line() clears part of specified line or the full line. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* cfb_console: Fix function console_backPali Rohár2012-06-04-2/+0
| | | | | | | | | | | * Do not disable and enable the cursor again. console_back() is called only from video_putc() which already turns the cursor off at the beginning and turns it on at the end, so there is no need to change the cursor in console_back(). Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: cfb_console: fix build warningsAnatolij Gustschin2011-12-07-21/+17
| | | | | | | | | | | Fix: cfb_console.c:371: warning: 'cursor_state' defined but not used cfb_console.c:372: warning: 'old_col' defined but not used cfb_console.c:373: warning: 'old_row' defined but not used cfb_console.c:435: warning: 'video_invertchar' defined but not used Signed-off-by: Anatolij Gustschin <agust@denx.de> Tested-by: Wolfgang Denk <wd@denx.de>
* video: cfb_console: Make the software cursor non-destructiveGabe Black2011-12-05-56/+53
| | | | | | | | | | | | | When printing the string "\r\n" to the framebuffer console, the first character of the current line was being replaced with a space. The "boot" prompt would become the "oot" prompt. This change makes the cursor non-destructive so that no matter where it goes on its way to where it's supposed to be, the end result is that the cursor is where it's supposed to be with the other text preserved. Signed-off-by: Gabe Black <gabeblack@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* CFB: Fix font rendering on mx5 framebufferMarek Vasut2011-11-29-1/+1
| | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* font: split font data from video_font.hChe-Liang Chiou2011-11-15-0/+1
| | | | | | | | | | | | | While video_font.h is useful even without referencing the font data, it is not possible to be included multiple times because it defines font data array right in the header. This patch splits the font data array into video_font_data.h and so now video_font.h can be included multiple times. This at least solves the code duplication in board/mcc200/lcd.c. Signed-off-by: Che-Liang Chiou <clchiou@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
* tools: logo: split bmp arrays from bmp_logo.hChe-Liang Chiou2011-11-15-0/+1
| | | | | | | | | | | | | | The generated header bmp_logo.h is useful even outside common/lcd.c for the logo dimension. However, the problem is, the generated bmp_logo.h cannot be included multiple times because bmp_logo_palette[] and bmp_logo_bitmap[] are defined in the bmp_logo.h. This patch fixes this by defining these arrays in another header bmp_logo_data.h and in bmp_logo.h only declaring these arrays. Signed-off-by: Che-Liang Chiou <clchiou@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* drivers/video/cfb_console.c:Fix GCC 4.6 build warningWolfgang Denk2011-11-07-1/+3
| | | | | | | | | | | Silence this warning: cfb_console.c: In function 'video_logo': cfb_console.c:1563:18: warning: variable 'y_off' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de>
* GCC4.6: Squash warning in cfb_console.cMarek Vasut2011-10-27-1/+1
| | | | | | | | | | | | | cfb_console.c: In function 'video_display_bitmap': cfb_console.c:1148: warning: format '%d' expects type 'int', but argument 2 has type 'long unsigned int' cfb_console.c:1148: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Mike Frysinger <vapier@gentoo.org>
* video: Moving mx3fb.c to CONFIG_VIDEOHelmut Raiger2011-10-13-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | mx3fb.c was based on CONFIG_LCD and is moved by this patch to CONFIG_VIDEO, which has greater freedom in selecting videomodes even at runtime. This renders the accumulating list of display defines (CONFIG_DISPLAY_VBEST..., CONFIG_DISPLAY_C057...) obsolete as these may be setup through env variables: uboot> setenv mydisplay 'video=ctfb:x:240,y:320,depth:16,mode:0,pclk:185925, le:9,ri:17,up:7,lo:10,hs:1,vs:1,sync:100663296,vmode:0' uboot> setenv videomode ${mydisplay} This commit also fixes the board config files for qong and imx31_phycore boards as needed. The videomode settings of previously supported displays are added to CONFIG_EXTRA_ENV_SETTINGS now. CONFIG_SYS_MALLOC_LEN for imx31_phycore board is increased to make the frame buffer allocation working with the changed driver. Signed-off-by: Helmut Raiger <helmut.raiger@hale.at> Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* cfb_console.c: checkpatch cleanupWolfgang Denk2011-08-01-6/+10
| | | | | | | | | Fix the following: ERROR: do not initialise statics to 0 or NULL ERROR: do not use assignment in if condition Signed-off-by: Wolfgang Denk <wd@denx.de>
* cfb_console.c: drop custom PRINTD() and use debug() insteadWolfgang Denk2011-08-01-9/+2
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Cosmetic: reformat drivers/video/cfb_console.cWolfgang Denk2011-08-01-484/+609
| | | | | | | | | | | Run cfb_console.c through indent and manually fix some of he deficiencies of the automatic line breaking. Fix multiline comments, excessive line spacing and such. No changes to code done. Signed-off-by: Wolfgang Denk <wd@denx.de>
* cfb_console: fix build breakageAndreas Bießmann2011-07-29-1/+1
| | | | | | | | | | | | Commit 09c2e90c110ef99f1203685acd1059114a51b167 "unify version_string" introduced a build breakage in cfb_console.c ---8<--- cfb_console.c:1497: warning: format '%s' expects type 'char *', but argument 3 has type 'const char (*)[]' --->8--- Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* unify version_stringAndreas Bießmann2011-07-28-1/+1
| | | | | | | | | | | | This patch removes the architecture specific implementation of version_string where possible. Some architectures use a special place and therefore we provide U_BOOT_VERSION_STRING definition and a common weak symbol version_string. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> CC: Mike Frysinger <vapier@gentoo.org> CC: Peter Pan <pppeterpppan@gmail.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* cfb_console: fix RLE bitmap drawing codeAnatolij Gustschin2011-04-28-4/+15
| | | | | | | | | | | | | | | | | | | | There seems to be tools producing incorrect 'end of bitmap data' markers '0100' in a RLE bitmap. Drawing such bitmaps can result in overwriting memory above the frame buffer. E.g. on MPC5121e based boards this memory can contain U-Boot environment. We may not rely on the correct end of bitmap data marker 0001 only, but also have to check whether we are going to draw a valid frame buffer scan line. The patch provides a fix by maintaining a pixel counter which is incremented by the amount of pixels we are going to draw. If the counter exceeds frame buffer pixels limit we stop the drawing with the error message. Reported-by: Michael Weiss <michael.weiss@ifm.com> Signed-off-by: Anatolij Gustschin <agust@denx.de> Tested-by: Anatolij Gustschin <agust@denx.de>
* Merge branch 'next' of /home/wd/git/u-boot/nextWolfgang Denk2010-09-28-1/+37
|\ | | | | | | | | | | | | Conflicts: include/ppc4xx.h Signed-off-by: Wolfgang Denk <wd@denx.de>
| * video: cfb_console: add support for 4bpp bitmaps with GDF_32BIT_X888RGBTimur Tabi2010-09-21-1/+37
| | | | | | | | | | | | | | | | Add support for 4bpp bitmaps, currently only for GDF_32BIT_X888RGB frame buffer format. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* | video: cfb_console: fix definition and usage of CURSOR_xxx macrosTimur Tabi2010-09-16-10/+14
|/ | | | | | | | | | | | | | | | | | | | The CURSOR_ON, CURSOR_OFF, and CURSOR_SET macros are defined incorrectly. If cursor support is disabled, then these macros are defined to nothing, but then they are used like this: if (console_col < CONSOLE_COLS) CURSOR_OFF console_row++; which was compiled like this: if (console_col < CONSOLE_COLS) console_row++; This is obviously not what was intended. Signed-off-by: Timur Tabi <timur@freescale.com> Acked-by: Detlev Zundel <dzu@denx.de>
* video: cleanup comments in cfb_console.c and video_fb.hAnatolij Gustschin2010-07-17-3/+3
| | | | Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: cfb_console: add weak default video_set_lut()Anatolij Gustschin2010-06-14-0/+12
| | | | | | | | | Do not enforce drivers to provide empty video_set_lut() if they do not implement indexed color (8 bpp) frame buffer support. Add default function to the cfb_console driver and remove empty video_set_lut() functions. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: cfb_console.c: add support for RLE8 bitmapsAnatolij Gustschin2010-04-08-2/+198
| | | | | | Allow displaying 8-bit RLE BMP images. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: Fix console display when splashscreen is usedMatthias Weisser2010-03-13-9/+12
| | | | | | | | | If a splashscreen is used the console scrolling used the scroll size as needed when a logo was displayed. This patch sets the scroll size to the whole screen if a splashscreen is shown. Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de>
* move prototypes for gunzip() and zunzip() to common.hWolfgang Wegner2009-12-21-2/+0
| | | | | | | | Prototype for gunzip/zunzip was only in lib_generic/gunzip.c and thus repeated in every file using it. This patch moves the prototypes to common.h and removes all prototypes distributed anywhere else. Signed-off-by: Wolfgang Wegner <w.wegner@astro-kom.de>
* video: mb862xx: add option VIDEO_FB_16BPP_WORD_SWAP for IPEK01Wolfgang Grandegger2009-10-31-1/+1
| | | | | | | | | | In 16 bpp mode, the new IPEK01 board only requires swapping of D16 words for D32 accesses due to the diffferent connecting to the GDC bus. This patch introduces the configuration option VIDEO_FB_16BPP_WORD_SWAP, which should be set for all board using the mb862xx in 16 bpp mode. For the IPEK01, VIDEO_FB_16BPP_PIXEL_SWAP should not be set. Signed-off-by: Wolfgang Grandegger <wg@denx.de>
* video: mb862xx: add option CONFIG_VIDEO_MB862xx_ACCEL for 32bpp modeAnatolij Gustschin2009-10-31-0/+2
| | | | | | | | | | | The new IPEK01 board can use the 32 bpp mode for the Lime graphics controller. For this mode, video accelaration does not work. This patch makes the accelaration configurable via CONFIG_VIDEO_MB862xx_ACCEL, which is enabled for the lwmon5 and the socrates board for backward compatibility. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Wolfgang Grandegger <wg@denx.de>
* stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD2009-07-18-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the console API uses the following naming convention: ======Extract====== typedef struct device_t; int device_register (device_t * dev); int devices_init (void); int device_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); ======= which is too generic and confusing. Instead of using device_XX and device_t we change this into stdio_XX and stdio_dev This will also allow to add later a generic device mechanism in order to have support for multiple devices and driver instances. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Edited commit message. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Added support for splash screen positioningMatthias Weisser2009-07-17-1/+35
| | | | | | | | | | This patch adds support splash image positioning by adding an additional variable "splashpos" to the environment. Please see README for details. Signed-off-by: Matthias Weisser <matthias.weisser@graf-syteco.de> Acked-by: Matthias Fuchs <matthias.fuchs@esd.eu> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: Add an option to skip video initializationWolfgang Denk2009-06-12-0/+15
| | | | | | | | | | | | | This patch adds an option to skip the video initialization on for all video drivers. This is needed for the CPCI750 which can be built as CPCI host and adapter/target board. And the adapter board can't access the video cards located on the CompactPCI bus. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Anatolij Gustschin <agust@denx.de> Rebased against simplifying patch. Signed-off-by: Wolfgang Denk <wd@denx.de>
* drv_video_init(): simplify logicWolfgang Denk2009-06-12-40/+29
| | | | | | | | | | Simplify nesting of drv_video_init() and use a consistent way of indicating failure / success. Before, it took me some time to realize which of the returns was due to an error condition and which of them indicated success. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Anatolij Gustschin <agust@denx.de>
* video: fix bug in cfb_console.c codeAnatolij Gustschin2009-04-28-3/+33
| | | | | | | | | | | Fix bug in drawing long version/info strings: U-Boot version string like "U-Boot 2009.03-05647-g7c51e06 (Apr 23 2009 - 12:40:00) MPC83XX" is long and doesn't wrap around correctly while drawing beside the logo. Such long strings partially overwrite the logo. This patch is an attempt to fix it. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-6/+6
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* clean up some #if !defined() in drivers/video/cfb_console.cAndrew Dyer2008-09-07-12/+12
| | | | | | | rearrange some #if !defined() / #else / #endif statements to remove the negative logic. Signed-off-by: Andrew Dyer <adyer@righthandtech.com>
* video: Clean drivers/video/MakefileMichal Simek2008-08-18-3/+0
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* video: fix bug in cfb_console codeAnatolij Gustschin2008-08-11-23/+36
| | | | | | | | | | | | | | | | FILL_15BIT_555RGB macro extension for pixel swapping by commit bed53753dd1d7e6bcbea4339be0fb7760214cc35 introduced a bug in cfb_console: Bitmaps with odd-numbered width won't be rendered correctly and even U-Boot crashes are observed on some platforms while repeated rendering of such bitmaps with "bmp display". Also if a bitmap is rendered to an odd-numbered x starting position, the same problem occurs. This patch is an attempt to fix it. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: fix bug in logo_plotAnatolij Gustschin2008-08-11-1/+3
| | | | | | | | | If logo_plot() should ever be called with x starting position other than zero and for pixel depths greater than 8bpp, logo colors distortion will be observed. This patch fixes the issue. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: Add missing free for logo memoryMatthias Fuchs2008-04-21-0/+5
| | | | | | This patch adds two missing free()s. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
* Add Fujitsu CoralP/Lime video driverAnatolij Gustschin2008-01-11-0/+42
| | | | | Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Rodolfo Giometti <giometti@linux.it>
* Fix video console newline and carriage return handlingAnatolij Gustschin2008-01-11-4/+23
| | | | | | | | | Lines of the lenght CONSOLE_COLS or greater than CONSOLE_COLS are not displayed correctly. This is an attempt to fix this issue. Also add carriage return handling. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Rodolfo Giometti <giometti@linux.it>
* fix comments with new drivers organizationMarcel Ziswiler2008-01-09-4/+4
| | | | Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>