summaryrefslogtreecommitdiff
path: root/drivers/video
Commit message (Collapse)AuthorAgeLines
...
* | | video: exynos_fb: add DT support for FIMD driverAjay Kumar2013-03-27-0/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add function to parse FIMD data from device tree. The driver still supports non-DT case. Define panel_info statically in some file if you are not using DT. If you have defined DT node for FIMD, panel_info will be filled using the bindings of FIMD DT node. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | | video: exynos_fb: Make fimd_ctrl globalAjay Kumar2013-03-27-25/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fimd_ctrl variable was redundantly defined across all the functions in the driver even though it contains just the same address. We make it global and initialize it in exynos_fimd_lcd_init. From then on, other funtions can use the data in the global variable. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | | video: exynos_dp: Remove callbacks from the driverAjay Kumar2013-03-27-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced the functionality of callbacks by using a standard set of functions. Instead of implementing and hooking up a callback, put the same code in one of the standard set of functions by overriding it. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | | video: exynos_fb: Remove callbacks from the driverAjay Kumar2013-03-27-16/+51
|/ / | | | | | | | | | | | | | | | | | | | | | | Replaced the functionality of callbacks by using a standard set of functions. Instead of implementing and hooking up a callback, put the same code in one of the standard set of functions by overriding it. This patch is tested only on SMDK5250. For Trats and universal_c210 board, it is only compile tested. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | video: add a driver for the bcm2835Stephen Warren2013-03-20-0/+128
|/ | | | | | | | | | | | | | | The firmware running on the bcm2835 SoC's VideoCore CPU manages the display controller. Add a simple "LCD" driver that communicates with the firmware using the property mailbox protocol. This configures the display and frame-buffer to match whatever physical resolution the firmware chosen when booting, which is typically the native resolution of the attached display device, presumably unless otherwise specified in config.txt on the boot media. Enable this driver in the Raspberry Pi board configuration. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Anatolij Gustschin <agust@denx.de>
* omap3: allow dynamic selection of gfx_formatNikita Kiryanov2013-03-08-1/+1
| | | | | | | | | | | | | | | | | Currently, omap3_dss_panel_config() sets gfx_format to a value that is hardcoded in the code. This forces anyone who wants to use a different gfx_format to make adjustments after calling omap3_dss_panel_config(). This could be avoided if the value of gfx_format were parameterized as input for omap3_dss_panel_config(). Make gfx_format a field in struct panel_config, and update existing structs to set this field to the value that was originally hard coded. Cc: Wolfgang Denk <wd@denx.de> Cc: Jeroen Hofstee <jeroen@myspectrum.nl> Cc: Tom Rini <trini@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
* video: tegra: Update line length to match resolutionThierry Reding2013-01-16-2/+2
| | | | | | | | | | | | | | | Instead of storing the computed line length in a local variable, store it in the global lcd_line_length variable to make sure the LCD subsystem can properly draw content for the display resolution. This probably wasn't noticed yet because the only board where LCD support is currently enabled is Seaboard, which runs at a 1366x768 resolution. As it happens this is the maximum resolution supported and also the default that is used to initialize the framebuffer before the configuration from DT is available. Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Tom Warren <twarren@nvidia.com>
* video: exynos_fb: Make a call to draw_logo only when CONFIG_CMD_BMP is selectedAjay Kumar2013-01-14-2/+4
| | | | | | | | | | | | | | | | | | Previously, the call to draw_logo() was happening irrespective of whether we have selected logo or LCD console. With this patch we call draw_logo() only when CONFIG_CMD_BMP is selected. This would even fix the following compilation warning: exynos_fb.c: In function 'draw_logo': exynos_fb.c:74:8: warning: variable 'addr' set but not used [-Wunused-but-set-variable] exynos_fb.c:73:9: warning: variable 'y' set but not used [-Wunused-but-set-variable] exynos_fb.c:73:6: warning: variable 'x' set but not used [-Wunused-but-set-variable] Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* video: exynos_dp: Remove unused variable disp_infoAjay Kumar2013-01-14-2/+0
| | | | | | | | | | Remove unused variable disp_info to fix the following compilation warning: exynos_dp.c: In function 'exynos_init_dp': exynos_dp.c:860:23: warning: variable 'disp_info' set but not used [-Wunused-but-set-variable] Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* video: Modify exynos_fimd driver to support LCD consoleAjay Kumar2013-01-10-4/+10
| | | | | | | | | | | | | | Currently, exynos FIMD driver is being used to support only TIZEN LOGOs. In order to get LCD console, we need to enable half word swap feature of FIMD and use 16 BPP. LCD console and proprietary Logo cannot be used simultaneously. We use "logo_on" field inside vidinfo_t structure to decide whether user wants Logo or Console. Define CONFIG_CMD_BMP and make logo_on = 1 to get Logo on screen. Use logo_on = 0 to get output console on LCD. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* video:cache:fix: Enable dcache flush at LCD subsystem for Exynos based boardsŁukasz Majewski2013-01-09-0/+3
| | | | | | | | | | lcd_set_flush_dcache(1) function is called from exynos_fb.c configuration file to enable lcd_sync function. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Tested-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* Merge branch 'master' of git://git.denx.de/u-boot into resolveMinkyu Kang2012-12-10-1/+176
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: README board/samsung/universal_c210/universal.c drivers/misc/Makefile drivers/power/power_fsl.c include/configs/mx35pdk.h include/configs/mx53loco.h include/configs/seaboard.h
| * 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>
| * x86: video: Add coreboot framebuffer supportStefan Reinauer2012-11-30-0/+102
| | | | | | | | | | | | | | Add a basic driver for the coreboot framebuffer. Signed-off-by: Stefan Reinauer <reinauer@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * Video: fix compiler warnings in bus_vcxkJens Scharsig (BuS Elektronik)2012-11-14-1/+1
| | | | | | | | | | | | | | if a board uses the vcxk driver option CONFIG_SYS_VCXK_DOUBLEBUFFERD, compilier shows warnings. This patch will fix it. Signed-off-by: Jens Scharsig (BuS Elektronik) <esw@bus-elektronik.de>
| * video: atmel: implement lcd_setcolreg functionBo Shen2012-11-10-0/+12
| | | | | | | | | | | | | | | | implement the common api lcd_setcolreg in include/lcd.h Signed-off-by: Bo Shen <voice.shen@atmel.com> [agust: fixed commit log and gcc 4.6 -Wparentheses warnings] Signed-off-by: Anatolij Gustschin <agust@denx.de>
| * 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>
| * ipu common: reset ipuv3 correctlyLiu Ying2012-11-06-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch checks self-clear sw_ipu_rst bit in SCR register of SRC controller to be cleared after setting it to high to reset IPUv3. This makes sure that IPUv3 finishes sofware reset. A timeout mechanism is added to stop polling on the bit status in case the bit could not be cleared by the hardware automatically within 10 millisecond. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
* | tegra: Support control of cache settings for LCDSimon Glass2012-11-19-0/+11
| | | | | | | | | | | | | | | | Add support for selecting the required cache mode for the LCD: off, write-through or write-back. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
* | tegra: Add LCD driverSimon Glass2012-11-19-0/+369
| | | | | | | | | | | | | | | | This driver supports driving a single LCD and providing a U-Boot console on it. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
* | drivers: video: fix image positionPiotr Wilczek2012-11-15-2/+13
| | | | | | | | | | | | | | | | | | This patch fixes image position on screen when images's height or width is biger then the lcd's. Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> CC: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | drivers: video: Add ld9040 video driverPiotr Wilczek2012-11-15-0/+145
| | | | | | | | | | | | | | Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> CC: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | mx6: use CONFIG_MX6 instead of CONFIG_MX6QTroy Kisky2012-11-10-1/+1
|/ | | | | | | | | | Use CONFIG_MX6 when the particular processor variant isn't important. Reserve the use of CONFIG_MX6Q to specifically test for quad cores variant. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
* Merge remote-tracking branch 'u-boot-ti/master'Albert ARIBAUD2012-11-03-9/+319
|\
| * 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>
* | i.MX video: struct fb_videomode can be constEric Nelson2012-10-16-3/+5
|/ | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* mx5: Use explicit clock gate namesBenoît Thébaudeau2012-10-15-1/+1
| | | | | | | | Use clock gate definitions having names showing clearly the gated clock instead of names giving only a register field index. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
* i.MX6: provide functional names for CCM_CCGR0-CCGR6 bit fieldsEric Nelson2012-10-15-2/+8
| | | | | | | | | | | | | Add meaningful constants for each clock channels and use them for enabling and disabling i.MX6 clocks. Includes an update to enable/disable the IPU1 clock in drivers/video/ipu_common to remove IMX5x register access when used on i.MX6 as discussed in V1: http://patchwork.ozlabs.org/patch/185129/ Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* 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>
* Merge remote-tracking branch 'u-boot/master'Albert ARIBAUD2012-09-30-19/+2
|\
| * Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini2012-09-25-19/+2
| |\
| | * video/powerpc: don't touch DIU registers that we don't needTimur Tabi2012-09-21-19/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several DIU registers were being initialized either unnecessarily or to wrong values. 1) All interrupts were enabled even though there's no interrupt handler. Interrupts were left enabled when booting Linux. 2) Don't configure a dummy area descriptor, since we don't support ADs in U-Boot. 3) Don't configure any write-back buffer registers, since we don't use that mode. 4) The default values for the THRESHOLDS, SYN_POL, and PLUT registers should be used, so don't touch those registers either. Signed-off-by: Timur Tabi <timur@freescale.com>
* | | Merge remote-tracking branch 'u-boot-imx/master'Albert ARIBAUD2012-09-29-0/+20
|\ \ \ | |/ / |/| |
| * | i.MX: mxc_ipuv3_fb: add ipuv3_fb_shutdown() routine to stop IPU frame bufferEric Nelson2012-09-24-0/+20
| |/ | | | | | | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
* | video: drop duplicate set of DISPC_CONFIG registerStefano Babic2012-09-04-2/+1
|/ | | | Signed-off-by: Stefano Babic <sbabic@denx.de>
* video: support exynos pwm backlight driverDonghwa Lee2012-09-01-0/+58
| | | | | | | | | This patch support exynos pwm backlight driver. It can control backlight power and brightness by using pwm. Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* video: exynos fb driver supports display port featureDonghwa Lee2012-09-01-1/+19
| | | | | | | | | | | | If dp_enabled was set, exynos fb driver support display port feature. This patch depends on [PATCH] video: support exynos fimd driver for various exynos series. http://marc.info/?l=u-boot&m=134119605104467&w=2 Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* video: support exynos display port driversDonghwa Lee2012-09-01-0/+2297
| | | | | | | | | | | | | This patch set supports exynos display port drivers. DisplayPort is an industry standard device to accommodate the increasing board adoption of digital display technology within the PC and consumer electronics. The interface supports internal chip-to-chip and external box-to-box digital display connections. Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* video: support exynos fimd driver for various exynos seriesDonghwa Lee2012-09-01-33/+43
| | | | | | | | | This patch supports exynos fimd driver for various exynos series different from existing it supports only exynos4 chip. Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* ipu_common: Add ldb_clk for use in parenting the pixel clockEric Nelson2012-07-10-3/+12
| | | | | | | Add ldb_clk for use in parenting the pixel clock. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* ipu_common: Do not hardcode the ipu_clk frequencyFabio Estevam2012-07-10-1/+1
| | | | | | Do not hardcode the ipu_clk frequency and let the board file pass this value. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* ipu_common: Rename MXC_CCM_BASEFabio Estevam2012-07-10-1/+1
| | | | | | Rename MXC_CCM_BASE to CCM_BASE_ADDR as this is already defined for MX6. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* ipu_common: Let clk_ipu_enable/disable only run on MX51 and MX53Fabio Estevam2012-07-10-1/+4
| | | | | | | The registers accessed inside clk_ipu_enable/disable are not present on MX6, so make sure they only run on MX51 and MX53. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* ipu_common: Only apply the erratum to MX51Fabio Estevam2012-07-10-0/+2
| | | | | | | | | | | | The following erratum : "ENGcm08316 IPU: Clarification regarding the bypass mode registers setup for display and camera interfaces" only applies to mx51, so restrict its usage for this SoC only. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* video: Rename CONFIG_VIDEO_MX5Fabio Estevam2012-07-10-2/+2
| | | | | | Rename CONFIG_VIDEO_MX5 as this driver can also be used on mx6. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx6: Allow mx6 to access the IPUv3 registersFabio Estevam2012-07-10-1/+11
| | | | | | Adjust the IPUv3 registers, so that the IPUv3 driver can be extended for mx6 as well. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* Remove remaining mdelay() macrosAnatolij Gustschin2012-07-08-1/+0
| | | | | | | Drop mdelay() macros since we already have a common mdelay() func. Signed-off-by: Anatolij Gustschin <agust@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
* TRATS: initialize panel_info data structure in board fileDonghwa Lee2012-07-07-3/+0
| | | | | | | | | | | | panel_info data structure is gloable variable, so, I have initialized it in board file. If it is initialized in init_panel_info() like existing, it can't be used in drv_lcd_init() in common/lcd.c because init_panel_info() is called after drv_lcd_init(). Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>