summaryrefslogtreecommitdiffstats
path: root/drivers/video
Commit message (Collapse)AuthorAgeFilesLines
* video: cfb_console: fix build warningsAnatolij Gustschin2011-12-071-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-051-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>
* DIU: 1080P and 720P supportJerry Huang2011-11-291-0/+38
| | | | | | | | Add the 1920x1080 and 1280x720 resolution support. Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com> Acked-by: Timur Tabi <timur@freescale.com> CC: Anatolij Gustschin <agust@denx.de>
* CFB: Fix font rendering on mx5 framebufferMarek Vasut2011-11-291-1/+1
| | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
* drivers/video/bus_vcxk.c: Fix GCC 4.6 warningAnatolij Gustschin2011-11-161-2/+0
| | | | | | | | | Fix: bus_vcxk.c: In function 'vcxk_display_bitmap': bus_vcxk.c:396:16: warning: variable 'compression' set but not used [-Wunused-but-set-variable] Signed-off-by: Anatolij Gustschin <agust@denx.de>
* drivers/video/da8xx-fb.c: Fix GCC 4.6 warningAnatolij Gustschin2011-11-161-3/+0
| | | | | | | | | Fix: da8xx-fb.c: In function 'video_hw_init': da8xx-fb.c:688:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] Signed-off-by: Anatolij Gustschin <agust@denx.de>
* drivers/video/ct69000.c: Fix GC 4.6 build warningWolfgang Denk2011-11-161-5/+7
| | | | | | | | | | | Convert custom debug code to use standard debug() facility. This also fixes these build warning: ct69000.c: In function 'FindAndSetPllParamIntoXrRegs': ct69000.c:706:28: warning: variable 'new_pixclock' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de>
* font: split font data from video_font.hChe-Liang Chiou2011-11-152-0/+2
| | | | | | | | | | | | | 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-151-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>
* VIDEO: mx3fb: GCC4.6 fix build warningsStefano Babic2011-11-101-2/+1
| | | | | | | | | Fix: mx3fb.c: In function 'video_hw_init': mx3fb.c:827:30: warning: variable 'vesa_idx' set but not used Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Anatolij Gustschin <agust@denx.de>
* Powerpc/DIU: Fixed the 800x600 and 1024x768 resolution bugJerry Huang2011-11-101-0/+2
| | | | | | | | When the resolution is set to 800x600 and 1024x768, but, the driver will use 1280x1024 resolution to set the DIU register Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com> Acked-by: Timur Tabi <timur@freescale.com>
* Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2011-11-082-0/+847
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-arm: Arm: re-introduce the MACH_TYPE_XXXXXX for EB_CPUX9K2 board arm: jadecpu: Readd MACH_TYPE_JADECPU at91: defined mach-types for otc570 board in board config file at91: defined mach-types for meesc board in board config file mx31pdk: Enable D and I caches ehci-mxc: remove incorrect comment README: Fix supported i.MX SoC list for CONFIG_MXC_SPI mx53: Turn off child clocks before reconfigure perclk_root qong: enable support for compressed images imx: imx31_phycore.h: fix checkpatch warnings vision2: Remove unused get_board_rev function mx53smd: Remove unused get_board_rev function mx53ard: Remove unused get_board_rev function mx53evk: Remove unused get_board_rev function mx53evk: Add RTC support mx53loco: Remove unused get_board_rev function mx53evk: Remove unneeded '1' from mx53evk.h OMAP3: mvblx: Initial support for mvBlueLYNX-X ARM: dig297: Define MACH_TYPE_OMAP3_CPS and CONFIG_MACH_TYPE omap3: mem: Move comments next to definitions omap3: mem: Clean-up whitespaces omap3: mem: Define and use common macros Davinci: ea20: added PREBOOT to configuration Davinci: ea20: added I2C support Davinci: ea20: added video support VIDEO: davinci: add framebuffer to da8xx ARM: Davinci: added missing registers to hardware.h Davinci: ea20: add gpios for LCD backlight control Davinci: ea20: add gpio for keeping power on in board_late_init Davinci: ea20: Add default U-Boot environment Davinci: ea20: Add early init to get early output from console Davinci: ea20: Add NAND support Davinci: ea20: set GPIOs to hold MII-Phy in reset and set UART0-Switch for console Davinci: ea20: set console on UART0 arm, davinci: add cam_enc_4xx support arm926ejs, davinci: add missing spi defines for dm365 arm926ejs, davinci: add cpuinfo for dm365 arm, davinci: add lowlevel function for dm365 soc arm, davinci: add header files for dm365 spl, nand: add 4bit HW ecc oob first nand_read_page function arm, davinci: add support for new spl framework spl: add option for adding post memory test to the SPL framework net, davinci_emac: make clock divider in MDIO control register configurable arm, usb, davinci: make USBPHY_CTL register configurable usb, davinci: add enable_vbus() weak function omap3evm: fix errors caused by multiple definitions omap3evm: Add (quick) configuration for NAND only omap3evm: Add (quick) configuration for MMC/SD only omap3evm: move common config options to new file omap3evm: Prepare to split configuration omap3evm: Reorder related config options omap/spl: actually enable the console davinci_emac: compilation fix, phy is array now omap3evm: Set environment variable 'ethaddr' arm, arm926: fix missing symbols in NAND_SPL mode arm, davinci: Add function lpsc_syncreset() arm, davinci: replace CONFIG_PRELOADER with CONFIG_SPL_BUILD arm/km: portl2 environment address update to P1B arm/km: adapt bootcounter evaluation arm/km: enable jffs2 cmds arm/km: trigger reconfiguration for the Xilinx FPGA arm/km: add boardid and hwkey to kernel command line ARM: Reintroduce MACH_TYPE_KM_KIRKWOOD for keymile ARM boards netspace_v2: enable I2C EEPROM support netspace_v2: fix SDRAM configuration armada100: define CONFIG_SYS_CACHELINE_SIZE pantheon: define CONFIG_SYS_CACHELINE_SIZE kirkwood: define CONFIG_SYS_CACHELINE_SIZE kirkwood: drop empty asm-offsets.s file arm/km/mgcoge3un: enhance "waitforne" feature arm/km: add variable waitforne to mgcoge3un gplugD: Fix for error:MACH_TYPE_SHEEVAD undeclared ARM: dreamplug: fix compilation ARM: DockStar: fix compilation ARM: netspace_v2: fix warnings am335x: Drop board_sysinfo struct am335x: Temporarily add MACH_TYPE define misc:pmic:samsung Enable PMIC driver at C210 Universal target dcache:s5p CONFIG_SYS_CACHELINE_SIZE added for s5p UNIVERSAL C210 target dcache:s5p CONFIG_SYS_CACHELINE_SIZE added for s5p GONI target smdkv310: use macro for mmc data read function address smdkv310: use spl framework for mmc spl SMDKV310: use get_ram_size() to validate dram size SMDKV310: Initialize board id using CONFIG_MACH_TYPE ORIGEN : use absolute paths and fix tool naming ORIGEN : enable device tree support MX25: tx25: Fix building due to missing MACH_TYPE mx31: Add board support for HALE TT-01 mx31: add ESD control registers mx31: define pins and init for UART2 and CSPI3 MX35: add support for flea3 board MX51: vision2: add MACH_TYPE in config file vision2: Remove unused header file mx51evk: Remove unused get_board_rev function mx51evk: Remove unneeded '1' from mx51evk.h I2C: Fix mxc_i2c.c problem on imx31_phycore mx35pdk: Add RTC support mx51evk: Use GPIO API for configuring the IOMUX mx51evk: Add RTC support rtc: Make mc13783-rtc driver generic qong: remove unneeded IOMUX settings qong: Use mx31_set_gpr to setup USBH2 pins mx31: Introduce mx31_set_gpr function mx31pdk: Add MC13783 PMIC support qong: remove unneeded "1" from qong.h misc: pmic: fix regression in pmic_fsl.c (SPI) mx5 configs: CONFIG_PRIME should really be CONFIG_ETHPRIME MX35: Drop unnecessary prototypes from imx-regs.h I2C: added I2C-2 and I2C-3 to MX35 MX35: factorize common assembly code MX35: add reset cause as provided by other i.MX MX35: add pins definition for UART3 MX35: added ESDC structure to imx-regs
| * VIDEO: davinci: add framebuffer to da8xxStefano Babic2011-11-032-0/+847
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch is a port from the framebuffer driver of the Linux driver drivers/video/da8xx-fb.c, used on davinci da8xx and OMAP-L138 boards. As base for the port, the following commit (last changes for this driver at the moment in the Linux kernel tree) was taken: commit 1db41e032d563eb47deab40dc5595be306b143ba Author: axel lin <axel.lin@gmail.com> Date: Tue Feb 22 01:52:42 2011 +0000 video: da8xx-fb: fix section mismatch warning Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Sandeep Paulraj <s-paulraj@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | drivers/video/cfb_console.c:Fix GCC 4.6 build warningWolfgang Denk2011-11-071-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>
* | drivers/video/videomodes.c: fix GCC 4.6 build warningWolfgang Denk2011-11-071-5/+11
|/ | | | | | | | | | Fix: videomodes.c: In function 'video_get_params': videomodes.c:162:13: warning: variable 't' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de>
* GCC4.6: Squash warning in bus_vcxk.cMarek Vasut2011-10-271-1/+1
| | | | | | | | | | | | bus_vcxk.c:167:2: warning: format '%d' expects type 'int', but argument 2 has type 'u_long' bus_vcxk.c:167:2: warning: format '%d' expects type 'int', but argument 3 has type 'u_long' 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>
* GCC4.6: Squash warning in cfb_console.cMarek Vasut2011-10-271-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-133-193/+275
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* MX5: Make IPU display output and pixel format configurableMarek Vasut2011-10-131-5/+10
| | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Stefano Babic <sbabic@denx.de> Tested-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* VIDEO: MX5: export pix formatStefano Babic2011-10-131-45/+1
| | | | | | | | | | | Pixel format defines must be available for boards to set up the right display. Move them and export in a new file. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Anatolij Gustschin <agust@denx.de> CC: Marek Vasut <marek.vasut@gmail.com> Tested-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* VIDEO: MX5: Switch MX5 to CONFIG_VIDEOStefano Babic2011-10-131-74/+36
| | | | | | | | | | | | | | | | | The framebuffer driver for MX5 is based on CONFIG_LCD. In the current implementation, there is a serious bug because the required memory is allocated before relocation, but the driver knows only later which is the resolution of the display. The patch switches the driver to CONFIG_VIDEO and the memory is allocated by the driver itself. We also need to switch the vision2 board code and config file in the same commit so that this commit will be bisectable. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Anatolij Gustschin <agust@denx.de> Tested-by: Stefano Babic <sbabic@denx.de> Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: update the Freescale DIU driver to use linux/fb.hTimur Tabi2011-10-131-49/+5
| | | | | | | | Update the Freescale DIU video driver (fsl_diu_fb.c) to use linux/fb.h. Some data structures from this header file were just copied into fsl_diu_fb.c. Signed-off-by: Timur Tabi <timur@freescale.com>
* GCC4.6: Squash warnings in ipu_disp.cMarek Vasut2011-10-012-57/+48
| | | | | | | | | | | | ipu_disp.c: In function ‘ipu_disp_set_global_alpha’: ipu_disp.c:1237:11: warning: variable ‘flow’ set but not used [-Wunused-but-set-variable] ipu_disp.c: In function ‘ipu_disp_set_color_key’: ipu_disp.c:1302:16: warning: variable ‘flow’ set but not used [-Wunused-but-set-variable] Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Stefano Babic <sbabic@denx.de>
* VIDEO: mb86r0xgdc.c: fix warning: unused variable 'i'Wolfgang Denk2011-09-061-1/+0
| | | | | | | | | | | Fix build warning: Configuring for jadecpu board... mb86r0xgdc.c: In function 'dsp_init': mb86r0xgdc.c:60: warning: unused variable 'i' Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Anatolij Gustschin <agust@denx.de>
* drivers/video/Makefile: include object files only onceWolfgang Denk2011-09-051-3/+3
| | | | | | | | | Use "$(sort $(COBJS-y))" to prevent multiple inclusion of the same object files. Also sort driver list. Signed-off-by: Wolfgang Denk <wd@denx.de>
* video: Fix build error with global inclusion of videomodesKumar Gala2011-09-051-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following commit: commit de701d118380de12a48c8a4fb345e9f909329432 Author: Syed Mohammed Khasim <khasim@ti.com> Date: Tue Apr 19 14:00:34 2011 -0500 OMAP3: Add DSS driver for OMAP3 Added videomodes to the object list w/o any protection. This causes build issues like: videomodes.o:(.rodata.res_mode_init+0x0): multiple definition of `res_mode_init' videomodes.o:(.rodata.res_mode_init+0x0): first defined here videomodes.o: In function `video_get_params': /local/home/galak/git/u-boot/drivers/video/videomodes.c:160: multiple definition of `video_get_params' videomodes.o:/local/home/galak/git/u-boot/drivers/video/videomodes.c:160: first defined here videomodes.o: In function `video_get_video_mode': /local/home/galak/git/u-boot/drivers/video/videomodes.c:229: multiple definition of `video_get_video_mode' videomodes.o:/local/home/galak/git/u-boot/drivers/video/videomodes.c:229: first defined here videomodes.o:(.rodata.vesa_modes+0x0): multiple definition of `vesa_modes' videomodes.o:(.rodata.vesa_modes+0x0): first defined here make[1]: *** [libvideo.o] Error 1 Remove the unconditional inclusion and move to adding to CONFIG_VIDEO_OMAP3 case. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* OMAP3: Add DSS driver for OMAP3Syed Mohammed Khasim2011-09-042-0/+133
| | | | | | | | | | | | | * Supports dynamic panel configuration * Supports dynamic tv standard selection * Adds support for DSS register access through generic APIs * Incorporated DSS register access using structures. * DSS makefile update Previous discussions are here: http://www.mail-archive.com/u-boot@lists.denx.de/msg27150.html Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* Convert ISO-8859 files to UTF-8Albert ARIBAUD2011-08-043-12/+12
| | | | | | | | There was a mix of UTF-8 and ISO-8859 files in the U-Boot source tree, which could cause issues with the patchwork review system. This commit converts all ISO-8859 files to UTF-8. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* video: mb862xx: change controller detection messageAnatolij Gustschin2011-08-041-1/+1
| | | | Signed-off-by: Anatolij Gustschin <agust@denx.de>
* video: mb862xx: support Coral-PA controllerAnatolij Gustschin2011-08-041-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-041-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-021-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-011-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-011-9/+2
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Cosmetic: reformat drivers/video/cfb_console.cWolfgang Denk2011-08-011-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-291-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-281-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-282-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-282-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-281-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-271-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-171-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-012-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-171-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-223-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-224-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-171-31/+0
|\
| * MX31: add support for setting pin padsStefano Babic2010-10-131-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-051-1/+2
|\ \ | |/ |/|
| * atmel_lcd: Allow contrast polarity to be either positive or negativeAlexander Stein2010-09-251-1/+2
| | | | | | | | Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
OpenPOWER on IntegriCloud