summaryrefslogtreecommitdiff
path: root/drivers/video
Commit message (Collapse)AuthorAgeFilesLines
* video: at91: Adjust vidconsole_position_cursor() to use char posSimon Glass2018-10-091-0/+2
| | | | | | | | | | | | At present this function uses pixels but it seems more useful for it to position in terms of characters on the screen. This also matches the comment to the function. Update this. Unfortunately there is one user of this function (at91). Have a crack at fixing this, since I cannot test it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Anatolij Gustschin <agust@denx.de>
* ctags: Minor changes to fix ctags outputSimon Glass2018-10-091-1/+2
| | | | | | | | | | At present ctags emits lines with unmatched quotes which means that the output file is invalid. This is with exuberant-ctags version 5.9~svn201103 but I also see it with plain ctags. I am not sure that it is a bug though. Make a few minor changes in the source code to fix this problem. Signed-off-by: Simon Glass <sjg@chromium.org>
* panel: Expand the backlight supportSimon Glass2018-10-094-36/+199
| | | | | | | | | | | | At present the panel can be turned on but not off, and the brightness cannot be controlled at run-time. Add a new API function to both the panel and backlight uclasses to handle this. Enhance the PWM backlight driver to deal with custom levels properly and allow the backlight to be turned on and off. Update the test to cover thes new features. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Adjust video_clear() to return an errorSimon Glass2018-10-091-1/+3
| | | | | | | | All driver-model operation should return an error code. Adjust this function to do so also. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Anatolij Gustschin <agust@denx.de>
* sandbox: video: Speed up video outputSimon Glass2018-10-093-10/+10
| | | | | | | | | | | | | | At present there are many situations where sandbox syncs the display to the SDL frame buffer. This is a very expensive operation but is only needed every now and then. Update video_sync() so that we can specify whether this operation is really needed. At present this flag is not used on other architectures. It could also be used for reducing writeback-cache flushes but the benefit of that would need to be investigated. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Anatolij Gustschin <agust@denx.de>
* video: Add support for Arm's Mali Display ProcessorsLiviu Dudau2018-09-283-0/+414
| | | | | | | | Add support for Arm Mali Display Processors DP500, DP550 and DP650. Only one layer is being used to display the console or boot logo, even if more layers are supported in the hardware. Signed-off-by: Liviu Dudau <liviu.dudau@foss.arm.com>
* video: Add support for NXP's TDA19988 HDMI encoderLiviu Dudau2018-09-283-0/+662
| | | | | | | Add support for the NXP TDA19988 HDMI encoder as used on the Juno development board from Arm. Signed-off-by: Liviu Dudau <liviu.dudau@foss.arm.com>
* video: cfb_console: flush cache in display_rle8_bitmapSébastien Szymanski2018-09-281-0/+4
| | | | | | Otherwise BMP RLE8 images are not properly displayed. Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
* video_osd: Add osd sandbox driver and testsMario Six2018-09-284-0/+181
| | | | | | | Add sandbox driver and tests for the new OSD uclass. Signed-off-by: Mario Six <mario.six@gdsys.cc> Reviewed-by: Simon Glass <sjg@chromium.org>
* video_osd: Add ihs_video_out driverMario Six2018-09-283-0/+351
| | | | | | | Add a driver for IHS OSDs on IHS FPGAs. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Mario Six <mario.six@gdsys.cc>
* drivers: Add OSD uclassMario Six2018-09-283-0/+54
| | | | | | | | | | Some devices offer a text-based OSD (on-screen display) that can be programmatically controlled (i.e. text displayed on). Add a uclass to support such devices. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Mario Six <mario.six@gdsys.cc>
* dm: video: support more escape sequencesHeinrich Schuchardt2018-09-281-13/+62
| | | | | | | | | | | | | | | | The EFI subsystems needs to know the size of the terminal. If the environment variable stdout = serial,vidconsole this size cannot be read from the video console. So the EFI subsystem sends escape sequences to read the size. With this patch we get support for the following escape sequences: ESC "7" Save cursor position ESC "8" Restore cursor position Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* dm: video: check bounds for column and rowHeinrich Schuchardt2018-09-231-0/+8
| | | | | | | | | CSI H can be used to position the cursor. The calling application may specify a location that is beyond the limits of the screen. This may lead to an illegal memory access. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
* Convert CONFIG_VIDEO_OMAP3 to KconfigAdam Ford2018-08-171-0/+6
| | | | | | | This converts the following to Kconfig: CONFIG_VIDEO_OMAP3 Signed-off-by: Adam Ford <aford173@gmail.com>
* video_display: Add Xilinx LogiCore DP TXMario Six2018-08-116-0/+3099
| | | | | | | Add a driver for the Xilinx LogiCORE DisplayPort IP core, which is a pure DP transmitter core for Xiling FPGA (no display capabilities). Signed-off-by: Mario Six <mario.six@gdsys.cc>
* video: Sort Makefile entriesMario Six2018-08-111-21/+21
| | | | | | | | | The entries of Makefiles should be sorted, which is not the case in the video driver Makefile. Sort the entries alphabetically as far as this makes sense. Signed-off-by: Mario Six <mario.six@gdsys.cc>
* Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini2018-08-072-1/+11
|\
| * dm: panel: get timings from panelYannick Fertré2018-08-011-0/+11
| | | | | | | | | | | | | | Get timings from panel instead of read device tree. Signed-off-by: Yannick Fertré <yannick.fertre@st.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * video: kconfig: remove DM_I2C dependency of I2C_EDIDLuis Araneda2018-08-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Drop the DM_I2C dependency, as the library only implements the parsing of EDID data and doesn't depend on any driver One user of this library, the i2c command, implements support for legacy and DM I2C drivers Tested on a Zynq board, whose I2C driver is not ported yet to DM Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* | video: sunxi: de2: fix SimpleFB node creation when DE2 not probedIcenowy Zheng2018-07-311-0/+3
|/ | | | | | | | | | | | | | Sometimes when a monitor without EDID information is plugged, the DE2 won't be probed (because of lack of timing information), but the HDMI node is probed, thus a SimpleFB node with invalid information will be populated. Also detect whether DE2 is probed when creating SimpleFB node. Fixes: be5b96f0e411 ("sunxi: setup simplefb for Allwinner DE2") Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Acked-by: Jagan Teki <jagan@openedev.com>
* video: arm: rpi: Add brcm,bcm2708-fb compatibleEmmanuel Vadot2018-07-021-0/+1
| | | | | | | | | When using CONFIG_OF_BOARD on rpi to use the dtb provided by the RaspberryPi Fundation, the compatible string isn't the same, resulting in not-functional video in u-boot. Signed-off-by: Oleksandr Tymoshenko <gonzo@FreeBSD.org> Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
* dm: video: Add an EFI framebuffer driverBin Meng2018-06-173-0/+156
| | | | | | | | | | This adds a DM video driver for U-Boot as the EFI payload. The driver makes use of all necessary information from the passed EFI GOP info to create a linear framebuffer device, as if it were initialized by U-Boot itself. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anatolij Gustschin <agust@denx.de>
* video: sunxi: de2: Reserve the fb region in the EFI memory mapEmmanuel Vadot2018-06-031-0/+8
| | | | | | | | | | If compile with support for the efi loader we need to mark the pages allocated for the framebuffer as reserved so the kernel won't attempt to use them for other uses. Signed-off-by: Emmanuel Vadot <manu@freebsd.org> Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
* video: dw_hdmi: fix HSYNC and VSYNC polarity settingsVasily Khoruzhick2018-05-151-2/+2
| | | | | | | | | Currently dw_hdmi configures HSYNC polarity using VSYNC setting from EDID and vice versa. Fix it, since it breaks displays where HSYNC and VSYNC polarity differs Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>
* sunxi: video: HDMI: use correct bits for HSYNC and VSYNC polarity.Vasily Khoruzhick2018-05-151-2/+2
| | | | | | | HSYNC is bit 8, and VSYNC is bit 9. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>
* SPDX: Convert a few files that were missed beforeTom Rini2018-05-101-2/+1
| | | | | | | | | | | As part of the main conversion a few files were missed. These files had additional whitespace after the '*' and before the SPDX tag and my previous regex was too strict. This time I did a grep for all SPDX tags and then filtered out anything that matched the correct styles. Fixes: 83d290c56fab ("SPDX: Convert all of our single license tags to Linux Kernel style") Reported-by: Heinrich Schuchardt <xypron.debian@gmx.de> Signed-off-by: Tom Rini <trini@konsulko.com>
* SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini2018-05-07107-219/+107
| | | | | | | | | | | | | | | | | | | | When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <trini@konsulko.com>
* Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTRTom Rini2018-04-2712-24/+0
| | | | | | | | We have a large number of places where while we historically referenced gd in the code we no longer do, as well as cases where the code added that line "just in case" during development and never dropped it. Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge git://git.denx.de/u-boot-videoTom Rini2018-04-242-1/+1
|\
| * video-uclass: Fix logical-not-parentheses warningTom Rini2018-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With clang-4.0 and later we see: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses] if ((!gd->flags & GD_FLG_RELOC)) ^ ~ And while the compiler suggests adding parenthesis around gd->flags, a reading of the code says that we want to know when GD_FLG_RELOC is not set and then return. Cc: Simon Glass <sjg@chromium.org> Cc: Anatolij Gustschin <agust@denx.de> Signed-off-by: Tom Rini <trini@konsulko.com>
| * treewide: fix up files incorrectly marked executableFabio Estevam2018-04-091-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inspired by the following kernel commit: "commit 90fda63fa1156ec1bcfd7f9ca384cec221f70a21 Author: Linus Torvalds <torvalds@linux-foundation.org> Date: Sat Apr 7 13:31:23 2018 -0700 treewide: fix up files incorrectly marked executable Joe Perches noted that we have a few source files that for some inexplicable reason (read: I'm too lazy to even go look at the history) are marked executable: drivers/gpu/drm/amd/amdgpu/vce_v4_0.c drivers/net/ethernet/cadence/macb_ptp.c A simple git command line to show executable C/asm/header files is this: git ls-files -s '*.[chsS]' | grep '^100755' and then you can fix them up with scripting by just feeding that output into: | cut -f2 | xargs chmod -x and commit it. Which is exactly what this commit does. Reported-by: Joe Perches <joe@perches.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>" Do the same in the U-Boot source tree. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
* | video: vesa: Change default FRAMEBUFFER_VESA_MODEBin Meng2018-04-161-1/+1
| | | | | | | | | | | | | | | | This changes the default FRAMEBUFFER_VESA_MODE to use 32-bit pixel format for better VxWorks compatibility. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | Merge git://git.denx.de/u-boot-imxTom Rini2018-04-152-61/+0
|\ \ | |/ |/| | | Signed-off-by: Tom Rini <trini@konsulko.com>
| * imx31_phycore: DeleteTom Rini2018-04-152-61/+0
| | | | | | | | | | | | This platform has been marked as orphaned since September 2013, remove. Signed-off-by: Tom Rini <trini@konsulko.com>
* | Merge git://git.denx.de/u-boot-sunxiTom Rini2018-04-041-2/+0
|\ \ | | | | | | | | | Signed-off-by: Tom Rini <trini@konsulko.com>
| * | sunxi: revert disabling of featuresAndre Przywara2018-04-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In January some commits were introduced to mitigate the U-Boot image size issues we encountered on sunxi builds. Now with the MMC environment removed we can bring them back, as we practically don't have a size limit anymore. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
* | | video: rk3288_mipi: Combine NULL check into IS_ERR_OR_NULL()Punit Agrawal2018-03-281-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Punit Agrawal <punit.agrawal@arm.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* | | video: rk3288_mipi: check in rk_mipi_ofdata_to_platdataHeinrich Schuchardt2018-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error checking should also catch the case that no range has beeen defined. syscon_get_first_range() returns NULL if no range is defined. cf. rk3399_mipi.c Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* | | video: rk3399_mipi: Combine NULL check into IS_ERR_OR_NULL()Punit Agrawal2018-03-281-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Punit Agrawal <punit.agrawal@arm.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* | | video: rk3399_mipi: correct error checkingHeinrich Schuchardt2018-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Pointers are never negative. Use macro IS_ERR() for checking. cf. rk3288_mipi.c Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
* | | video: stm32: stm32_ltdc: set the blending factoryannick fertre2018-03-191-6/+35
| | | | | | | | | | | | | | | | | | Set the blending factor regarding the pixel format Signed-off-by: yannick fertre <yannick.fertre@st.com>
* | | video: stm32: stm32_ltdc: missing set of line interrupt positionyannick fertre2018-03-191-0/+2
| | | | | | | | | | | | | | | | | | Set LIPCR (line interrupt position conf) register with line length. Signed-off-by: yannick fertre <yannick.fertre@st.com>
* | | video: stm32: stm32_ltdc: set rate of the pixel clockyannick fertre2018-03-191-23/+29
| | | | | | | | | | | | | | | | | | pxclk is useless to set pixel clock. Signed-off-by: yannick fertre <yannick.fertre@st.com>
* | | video: stm32: stm32_ltdc: update file header & footeryannick fertre2018-03-191-9/+8
| | | | | | | | | | | | | | | | | | Modified copyright & driver name. Signed-off-by: yannick fertre <yannick.fertre@st.com>
* | | video: stm32: stm32_ltdc: add resetyannick fertre2018-03-191-0/+11
| | | | | | | | | | | | | | | | | | Add reset of LTDC display controller. Signed-off-by: yannick fertre <yannick.fertre@st.com>
* | | video: exynos: remove redundant assignmentsHeinrich Schuchardt2018-03-191-6/+6
| | | | | | | | | | | | | | | | | | No need to initialize variables if the next usage is an assignment. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* | | video, da8xx-fb: fix time out in wait_for_event()Heinrich Schuchardt2018-03-191-2/+3
| | | | | | | | | | | | | | | | | | If an event does not occur the current coding stays in an endless loop. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* | | video: stb_truetype: simplify expressionHeinrich Schuchardt2018-03-191-1/+1
| | | | | | | | | | | | | | | | | | Eliminate (x2 - x2) which is always zero. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* | | video: cfb_console: simplify logical constraintHeinrich Schuchardt2018-03-191-1/+1
|/ / | | | | | | | | | | (A || !A && B) == (A || B) Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* | sunxi: video: mark framebuffer as EFI reserved memoryHeinrich Schuchardt2018-03-091-0/+8
| | | | | | | | | | | | | | | | | | Inform the EFI subsystem that the framebuffer memory is reserved. Without the patch the AllocatePool boot service allocates memory from the framebuffer which will will be overwritten by screen output. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>