summaryrefslogtreecommitdiff
path: root/drivers/video/cfb_console.c
AgeCommit message (Collapse)Author
2013-06-07Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini
2013-05-06arm: mxs: Add MXS LCDIF driverMarek Vasut
Add basic LCD driver for i.MX233 and i.MX28. This driver allows framebuffer console and framebuffer logo. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Anatolij Gustschin <agust@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Stefano Babic <sbabic@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de>
2013-05-06cfb_console: flush FB cache at end of public functionsEric Nelson
Removed internal cache_flush operations and placed a flush of the entire frame-buffer at the end of each public function. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
2013-03-21video: Fix splash screen alignmentMatthias Weisser
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>
2012-12-06video: Check for valid FB pointer before clearingDuncan Laurie
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>
2012-11-07video: Skip bitmaps which do not fit into the screen in cfb_consoleVadim Bendebury
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>
2012-11-07video: Implement additional video API functions in cfb_consoleStefan Reinauer
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>
2012-10-30cfb_console: Add support for some ANSI terminal escape codesPali Rohár
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>
2012-10-01video: cfb_console: add function to plot the logo area blackBastian Ruppert
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>
2012-10-01video: cfb_console: logo can be positioned via the splashpos variableBastian Ruppert
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>
2012-07-10video: Rename CONFIG_VIDEO_MX5Fabio Estevam
Rename CONFIG_VIDEO_MX5 as this driver can also be used on mx6. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
2012-06-05video: cfb_console: flush dcache for frame buffer in DRAMAnatolij Gustschin
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>
2012-06-05cfb_console: Ignore bell characterPali Rohár
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
2012-06-04cfb_console: Add console_clear_line functionPali Rohár
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>
2012-06-04cfb_console: Fix function console_backPali Rohár
* 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>
2011-12-07video: cfb_console: fix build warningsAnatolij Gustschin
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>
2011-12-05video: cfb_console: Make the software cursor non-destructiveGabe Black
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>
2011-11-29CFB: Fix font rendering on mx5 framebufferMarek Vasut
Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
2011-11-15font: split font data from video_font.hChe-Liang Chiou
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>
2011-11-15tools: logo: split bmp arrays from bmp_logo.hChe-Liang Chiou
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>
2011-11-07drivers/video/cfb_console.c:Fix GCC 4.6 build warningWolfgang Denk
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>
2011-10-27GCC4.6: Squash warning in cfb_console.cMarek Vasut
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>
2011-10-13video: Moving mx3fb.c to CONFIG_VIDEOHelmut Raiger
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>
2011-08-01cfb_console.c: checkpatch cleanupWolfgang Denk
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>
2011-08-01cfb_console.c: drop custom PRINTD() and use debug() insteadWolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2011-08-01Cosmetic: reformat drivers/video/cfb_console.cWolfgang Denk
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>
2011-07-29cfb_console: fix build breakageAndreas Bießmann
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>
2011-07-28unify version_stringAndreas Bießmann
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>
2011-04-28cfb_console: fix RLE bitmap drawing codeAnatolij Gustschin
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>
2010-09-28Merge branch 'next' of /home/wd/git/u-boot/nextWolfgang Denk
Conflicts: include/ppc4xx.h Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-09-21video: cfb_console: add support for 4bpp bitmaps with GDF_32BIT_X888RGBTimur Tabi
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>
2010-09-16video: cfb_console: fix definition and usage of CURSOR_xxx macrosTimur Tabi
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>
2010-07-17video: cleanup comments in cfb_console.c and video_fb.hAnatolij Gustschin
Signed-off-by: Anatolij Gustschin <agust@denx.de>
2010-06-14video: cfb_console: add weak default video_set_lut()Anatolij Gustschin
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>
2010-04-08video: cfb_console.c: add support for RLE8 bitmapsAnatolij Gustschin
Allow displaying 8-bit RLE BMP images. Signed-off-by: Anatolij Gustschin <agust@denx.de>
2010-03-13video: Fix console display when splashscreen is usedMatthias Weisser
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>
2009-12-21move prototypes for gunzip() and zunzip() to common.hWolfgang Wegner
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>
2009-10-31video: mb862xx: add option VIDEO_FB_16BPP_WORD_SWAP for IPEK01Wolfgang Grandegger
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>
2009-10-31video: mb862xx: add option CONFIG_VIDEO_MB862xx_ACCEL for 32bpp modeAnatolij Gustschin
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>
2009-07-18stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD
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>
2009-07-17Added support for splash screen positioningMatthias Weisser
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>
2009-06-12video: Add an option to skip video initializationWolfgang Denk
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>
2009-06-12drv_video_init(): simplify logicWolfgang Denk
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>
2009-04-28video: fix bug in cfb_console.c codeAnatolij Gustschin
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>
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-09-07clean up some #if !defined() in drivers/video/cfb_console.cAndrew Dyer
rearrange some #if !defined() / #else / #endif statements to remove the negative logic. Signed-off-by: Andrew Dyer <adyer@righthandtech.com>
2008-08-18video: Clean drivers/video/MakefileMichal Simek
Signed-off-by: Michal Simek <monstr@monstr.eu>
2008-08-11video: fix bug in cfb_console codeAnatolij Gustschin
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>
2008-08-11video: fix bug in logo_plotAnatolij Gustschin
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>
2008-04-21video: Add missing free for logo memoryMatthias Fuchs
This patch adds two missing free()s. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>