summaryrefslogtreecommitdiff
path: root/drivers/video
Commit message (Collapse)AuthorAgeLines
* video: mb862xx: change controller detection messageAnatolij Gustschin2011-08-04-1/+1
| | | | Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: mb862xx: support Coral-PA controllerAnatolij Gustschin2011-08-04-5/+27
| | | | | | | | | Add detection of Coral-PA and configure Coral CCF an MMR parameters using CONFIG_SYS_MB862xx_CCF and CONFIG_SYS_MB862xx_MMR macros. Use CCF and MMR parameters for Coral-P Eval. Board if the appropriate macros weren't defined. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: Add SHARP LQ084S3LG01 LCD support on P1022DSTimur Tabi2011-08-04-15/+36
| | | | | | | | | | | | | | | | | The SHARP LQ084S3LG01 is a TFT LCD used on the P1022DS (revision "C") board. This device only supports 800x600 resolution, so if that resolution is selected, assume that this is the device. The device is attached to the LVDS port on the P1022DS board. The existing 800x600 entry (for the PDM360NG board) is actually 800x480, so we fix that. To support two different 800x resolutions, the Y-resolution is now passed to fsl_diu_init() and both values are used to pick the proper fb_videomode structure. The data for the 800x600 video mode is originally from Jiang Yutang. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Jiang Yutang <b14898@freescale.com>
* video: Use memset instead of loopMatthias Weisser2011-08-02-2/+1
| | | | | | | There is a optimized version of memset in u-boot available so use it instead of the hand written loop version. Signed-off-by: Matthias Weisser <weisserm@arcor.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>
* powerpc: use 'video-mode' environment variable to configure DIUTimur Tabi2011-04-28-306/+226
| | | | | | | | | | | | | | | | Use the 'video-mode' environment variable (for Freescale chips that have a DIU display controller) to designate the full video configuration. Previously, the DIU driver used the 'monitor' variable, and it was used only to determine the output video port. The old definition of the "monitor" environment variable only determines which video port to use for output. This variable was set to a number (0, 1, or sometimes 2) to specify a DVI, LVDS, or Dual-LVDS port. The resolution was hard-coded into board-specific code. The Linux command-line arguments needed to be hard-coded to the proper video definition string. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: parse the video-mode environment variableTimur Tabi2011-04-28-0/+67
| | | | | | | | | | | | | | | | | Add function video_get_video_mode(), which parses the "video-mode" environment variable and returns each of its components. The format matches the video= command-line option used for Linux: video-mode=<driver>:<xres>x<yres>-<depth>@<freq><,option=string> <driver> The video driver, ignored by U-Boot <xres> The X resolution (in pixels) to use. <yres> The Y resolution (in pixels) to use. <depth> The color depth (in bits) to use. <freq> The frequency (in Hz) to use. <options> A comma-separated list of device-specific options Signed-off-by: Timur Tabi <timur@freescale.com>
* 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>
* IMX: MX31: Cleanup include files and drop nasty #ifdef in driversStefano Babic2011-04-27-3/+3
| | | | | | | | | | As exception among the i.MX processors, the i.MX31 has headers without general names (mx31-regs.h, mx31.h instead of imx-regs.h and clock.h). This requires several nasty #ifdef in the drivers to include the correct header. The patch cleans up the driver and renames the header files as for the other i.MX processors. Signed-off-by: Stefano Babic <sbabic@denx.de>
* video/mx3fb: fix clock dividerStefano Babic2010-12-17-1/+1
| | | | | | | | | | | Fix clock divider for COM57H5M10XRC display. The previous setting caused flicker. Tested on Qong (EVBLite with COM57H5M10XRC). Signed-off-by: Stefano Babic <sbabic@denx.de> Acked-by: Wolfgang Denk <wd@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de>
* video: move fsl_diu_fb driver to drivers/videoAnatolij Gustschin2010-12-01-0/+514
| | | | | | | | | Since the driver is used not only on Freescale boards, we move it to a common place for video drivers as suggested by Wolfgang. The patch also cleans up the top level Makefile. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
* MX51: Add video supportStefano Babic2010-10-22-0/+711
| | | | | | | | | | | | | Add framebuffer driver for the MX51 processor working on the IPUv3 internal graphic processor. The port is based on the driver found in the kernel delivered by Freescale as part of i.MX BSP: [kernel 2.6.31 commit cc4fe714041805997b601fe8e5dd585d8a99297f] [agust@denx.de: some style fixes and dead code removal] Signed-off-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* MX51: Add IPU driver for video supportStefano Babic2010-10-22-0/+3281
| | | | | | | | | | | | The patch is a porting of the IPU Linux driver developed by Freescale to have framebuffer functionalities in u-boot. The port is based on kernel 2.6.31 commit cc4fe714041805997b601fe8e5dd585d8a99297f, as delivered by Freescale [i.MX BSP]. Most features are dropped from the original driver and only LCD support is the goal of this porting. Signed-off-by: Stefano Babic <sbabic@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-10-17-31/+0
|\
| * MX31: add support for setting pin padsStefano Babic2010-10-13-31/+0
| | | | | | | | | | | | | | The patch adds a utility function and defines to set the pad as it is done in linux. Signed-off-by: Stefano Babic <sbabic@denx.de>
* | Merge branch 'next' of git://git.denx.de/u-boot-videoWolfgang Denk2010-10-05-1/+2
|\ \ | |/ |/|
| * atmel_lcd: Allow contrast polarity to be either positive or negativeAlexander Stein2010-09-25-1/+2
| | | | | | | | Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
* | 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: add support for display controller in MB86R0x SoCsMatthias Weisser2010-08-10-0/+187
| | | | | | | | This patch adds support for the display controller in the MB86R0x SoCs. Signed-off-by: Matthias Weisser <weisserm@arcor.de> Acked-by: Anatolij Gustschin <agust@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: sm501.c: add weak default functionsAnatolij Gustschin2010-06-14-0/+28
| | | | | | | | | | For boards using sm501/sm502 on PCI bus some driver functions normaly defined in the board code are not needed and empty. Provide weak default functions for them and do not enforce board code to define empty functions. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: sm501: add support for SM501 chips on PCI busAnatolij Gustschin2010-06-14-5/+84
| | | | Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: cfb_console: add weak default video_set_lut()Anatolij Gustschin2010-06-14-13/+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>
* Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-05-21-16/+31
|\
| * MX31: Added support for the Casio COM57H5M10XRC to QONGStefano Babic2010-05-19-16/+31
| | | | | | | | | | | | | | The patch adds setup to connect a CASIO COM57H5M10XRC (640x480 TFT display) to the QONG module. Signed-off-by: Stefano Babic <sbabic@denx.de>
* | drivers/*/Makefile: fix conditional compile rule.Ender.Dai2010-05-06-5/+4
|/ | | | | | Fix conditional compile rule for twl4030.c and videomodes.c. Signed-off-by: Ender.Dai <ender.dai@gmail.com>
* MX31: Added LCD support for QONG moduleStefano Babic2010-04-27-0/+17
| | | | | | | Added support for LCD and splash image to the QONG module. The supported display is VBEST-VGG322403. Signed-off-by: Stefano Babic <sbabic@denx.de>
* video: ati_radeon_fb.c: fix warning while compiling with DEBUGAnatolij Gustschin2010-04-08-1/+1
| | | | | | | | | | Fixes this warning: ati_radeon_fb.c: In function 'radeon_probe': ati_radeon_fb.c:598: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'void *' Signed-off-by: Anatolij Gustschin <agust@denx.de>
* ati_radeon: Support PCI virtual not eq bus mapping.Ed Swarthout2010-04-08-24/+27
| | | | | | | | | | | | | | Use pci_bus_to_virt() to convert the bus address from the BARs to virtual address' to eliminate the direct mapping requirement. Rename variables to better match usage (_phys -> _bus or no-suffix) This fixes the mpc8572ds CONFIG_PHYS_64BIT mode failure: "videoboot: Video ROM failed to map!" Tested on mpc8572ds with and without CONFIG_PHYS_64BIT. Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
* ati_radeon: return with error when emulator failsEd Swarthout2010-04-08-1/+2
| | | | | | | | | | | | | | | | | Console was being switched to video even if emulator fails and causing this hang: Scanning PCI bus 04 04 00 1095 3132 0104 00 PCIE3 on bus 03 - 04 Video: ATI Radeon video card (1002, 5b60) found @(2:0:0) videoboot: Booting PCI video card bus 2, function 0, device 0 videoboot: Video ROM failed to map! 640x480x8 31kHz 59Hz radeonfb: FIFO Timeout ! Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Tested-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>
* convert common files to new SoC accessJens Scharsig2010-02-12-1/+21
| | | | | | | | * add's a warning to all files, which need update to new SoC access * convert common files in cpu/../at91 and a lot of drivers to use c stucture SoC access Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
* video: add amba-clcd prime-cellAlessandro Rubini2010-01-27-0/+80
| | | | | | | | | | This adds support for the CLCD logic cell. It accepts precompiled register values for specific configuration through a board-supplied data structure. It is used by the Nomadik nhk8815, added by a later patch in this series. Signed-off-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com>
* 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-1/+17
| | | | | | | | | | | 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>
* video: mb862xx: improve board-specific Lime configurationWolfgang Grandegger2009-10-31-1/+33
| | | | | | | | | | | To avoid board-specific code accessing the mb862xx registers directly, the public function mb862xx_probe() has been introduced. Furthermore, the "Change of Clock Frequency" and "Set Memory I/F Mode" registers are now defined by CONFIG_SYS_MB862xx_CCF and CONFIG_SYS_MB862xx__MMR, respectively. The BSPs for the socrates and lwmon5 boards have been adapted accordingly. Signed-off-by: Wolfgang Grandegger <wg@denx.de>
* bus_vcxk.c: fix warning: unused variable 'lineptr'Jens Scharsig2009-08-09-1/+0
| | | | Signed-off-by: Jens Scharsig <esw@bus-elektronik.de>
* video: bus_vcxk.c: fix style issues added by 50217deeAnatolij Gustschin2009-07-26-11/+15
| | | | Signed-off-by: Anatolij Gustschin <agust@denx.de>
* new video driver for bus vcxk framebuffersJens Scharsig2009-07-26-0/+437
| | | | | | | | | | This patch adds a new video driver * adds common bus_vcxk framebuffer driver Signed-off-by: Jens Scharsig <esw@bus-elektronik.de> [agust@denx.de: fixed lots of style issues before applying] Signed-off-by: Anatolij Gustschin <agust@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>