summaryrefslogtreecommitdiff
path: root/drivers/video
Commit message (Collapse)AuthorAgeLines
* bcm2835 video: Map frame buffer as 32bppAlexander Graf2016-11-28-3/+3
| | | | | | | | To enable working efifb support, let's map the frame buffer as 32bpp instead of 16bpp. Signed-off-by: Alexander Graf <agraf@suse.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
* rockchip: video: Avoid using u8 in the HDMI driverSimon Glass2016-11-25-15/+15
| | | | | | | | It makes not sense using u8 to hold a value on a 32-bit or 64-bit machine. It can only bloat the code by forcing the compiler to mask the value. Change it to uint. Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: video: Check for device in useSimon Glass2016-11-25-0/+9
| | | | | | | | | | Check whether a display device is in use before using it. Add a comment as to why two displays cannot currently be used at the same time. This allows us to remove the device-tree change that disables vopb on jerry. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Track whether a display is in useSimon Glass2016-11-25-1/+17
| | | | | | | Mark a display as in use when display_enable() is called. This can avoid a display being used by multiple video-output devices. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Use cache-alignment in video_sync()Simon Glass2016-11-25-1/+2
| | | | | | | | Sometimes the frame buffer is not a multiple of the cache line size. Adjust the cache-flushing code to avoid cache warnings/errors in this case. Signed-off-by: Simon Glass <sjg@chromium.org>
* rockchip: video: Correct VOP clock selectionSimon Glass2016-11-25-6/+1
| | | | | | | | This code incorrectly uses the oscillator. It should use the clock selected in the device tree. Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: 135aa95 (clk: convert API to match reset/mailbox style)
* rockchip: video: Correct HDMI data source selectionSimon Glass2016-11-25-1/+2
| | | | | | | | | | This code currently always selects the second source. It only worked because both sources are set up. With the change to only init video devices that are present in the stdout environment variable, this fails. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: bmp: Fix compilation errors with CONFIG_BMP_xxBPP enabledStefan Roese2016-11-13-3/+3
| | | | | | | | | | | | | | | | | | | | | Compiling the 'bmp' command with DM and having one of the following macros enabled: CONFIG_BMP_16BPP, CONFIG_BMP_24BPP ONFIG_BMP_32BPP generates this error: drivers/video/video_bmp.c: In function ‘video_bmp_display’: drivers/video/video_bmp.c:315:22: error: ‘lcd_line_length’ undeclared (first use in this function) fb -= width * 2 + lcd_line_length; ^ This patch moves to using the correct variable instead and enables the 'bmp' command for DM again. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Anatolij Gustschin <agust@denx.de>
* Fix codying style broken by recent libfdt syncMasahiro Yamada2016-10-24-1/+1
| | | | | | | | | Commit b02e4044ff8e ("libfdt: Bring in upstream stringlist functions") broke codying style in some places especially by inserting an extra whitespace before fdt_stringlist_count(). Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Simon Glass <sjg@chromium.org>
* Convert CONFIG_CONSOLE_SCROLL_LINES to KconfigSimon Glass2016-10-23-0/+10
| | | | | | | | This converts the following to Kconfig: CONFIG_CONSOLE_SCROLL_LINES Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* video: Move video_get_info_str() prototype to a header fileSimon Glass2016-10-23-17/+8
| | | | | | | | This should be defined in a header file so that arguments are checked. Move it to video.h. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_CONSOLE_EXTRA_INFO to KconfigSimon Glass2016-10-23-0/+10
| | | | | | | | This converts the following to Kconfig: CONFIG_CONSOLE_EXTRA_INFO Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_VIDEO_SW_CURSOR to KconfigSimon Glass2016-10-23-6/+10
| | | | | | | | | | This converts the following to Kconfig: CONFIG_VIDEO_SW_CURSOR Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> [trini: Re-convert, find all the cases where this is off] Signed-off-by: Tom Rini <trini@konsulko.com>
* video: Drop CONFIG_VIDEO_HW_CURSORSimon Glass2016-10-23-111/+1
| | | | | | | This is not used in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_VGA_AS_SINGLE_DEVICE to KconfigSimon Glass2016-10-23-6/+10
| | | | | | | | | | This converts the following to Kconfig: CONFIG_VGA_AS_SINGLE_DEVICE Once we migrate to driver model for video, we should be able to drop this option. Signed-off-by: Simon Glass <sjg@chromium.org>
* video: Drop the sed13806 driverSimon Glass2016-10-23-296/+0
| | | | | | | This is not used in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* video: Drop the s3c-fb driverSimon Glass2016-10-23-174/+1
| | | | | | | | This is not used in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Minkyu Kang <mk7.kang@samsung.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* video: Drop the imx25lcdc driverSimon Glass2016-10-23-122/+0
| | | | | | | This is not used anywhere in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* video: Drop the smiLynxEM driverSimon Glass2016-10-23-849/+0
| | | | | | | This is not used in U-Boot anymore. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_SYS_CONSOLE_BG_COL et al to KconfigSimon Glass2016-10-23-49/+74
| | | | | | | | | This converts the following to Kconfig: CONFIG_SYS_CONSOLE_BG_COL CONFIG_SYS_CONSOLE_FG_COL Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_VIDEO_CT69000 to KconfigSimon Glass2016-10-23-0/+27
| | | | | | | | This converts the following to Kconfig: CONFIG_VIDEO_CT69000 Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_CFB_CONSOLE_ANSI to KconfigSimon Glass2016-10-23-0/+9
| | | | | | | | This converts the following to Kconfig: CONFIG_CFB_CONSOLE_ANSI Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* Convert CONFIG_CFB_CONSOLE to KconfigSimon Glass2016-10-23-0/+41
| | | | | | | This converts the following to Kconfig: CONFIG_CFB_CONSOLE Signed-off-by: Simon Glass <sjg@chromium.org>
* Convert CONFIG_LCD to KconfigSimon Glass2016-10-23-0/+8
| | | | | | | | | This converts the following to Kconfig: CONFIG_LCD Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* Convert CONFIG_VIDEO to KconfigSimon Glass2016-10-23-0/+9
| | | | | | | | | This converts the following to Kconfig: CONFIG_VIDEO Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* libfdt: Bring in upstream stringlist functionsSimon Glass2016-10-13-1/+1
| | | | | | | | | | | | | | These have now landed upstream. The naming is different and in one case the function signature has changed. Update the code to match. This applies the following upstream commits by Thierry Reding <treding@nvidia.com> : 604e61e fdt: Add functions to retrieve strings 8702bd1 fdt: Add a function to get the index of a string 2218387 fdt: Add a function to count strings Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://git.denx.de/u-boot-x86Tom Rini2016-10-12-206/+991
|\
| * video: Remove legacy VESA and coreboot framebuffer driversBin Meng2016-10-12-171/+0
| | | | | | | | | | | | | | | | Now that all x86 boards have been converted to DM video, drop the legacy drivers. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * x86: coreboot: Convert to use DM coreboot video driverBin Meng2016-10-12-1/+1
| | | | | | | | | | | | | | This converts coreboot to use DM framebuffer driver. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * dm: video: Don't do anything in alloc_fb() when plat->size is zeroBin Meng2016-10-12-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With DM VESA driver on x86 boards, plat->base/size/align are all zeroes and starting address passed to alloc_fb() happens to be 1MB aligned, so this routine does not trigger any issue. On QEMU with U-Boot as coreboot payload, the starting address is within 1MB range (eg: 0x7fb0000), thus causes failure in video_post_bind(). Actually if plat->size is zero, it makes no sense to do anything in this routine. Add such check there. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * dm: video: Add driver for coreboot framebuffer deviceBin Meng2016-10-12-0/+88
| | | | | | | | | | | | | | This adds a DM driver for coreboot framebuffer device. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * x86: Convert to use DM VESA video driverBin Meng2016-10-12-1/+1
| | | | | | | | | | | | | | | | | | At present only chromebook boards are converted to DM video. Other x86 boards are still using the legacy cfb_console driver. This switches to use DM version drivers. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * dm: video: Add driver for VESA-compatible deviceBin Meng2016-10-12-0/+34
| | | | | | | | | | | | | | This adds a DM driver for VESA-compatible device. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * dm: x86: Move samus to use new driver model supportSimon Glass2016-10-11-32/+7
| | | | | | | | | | | | | | Update the samus driver to avoid the direct call to the video BIOS setup. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * dm: x86: video: Add a driver-model driver for ivybridge graphicsSimon Glass2016-10-11-0/+856
| | | | | | | | | | | | | | | | | | At present we use the legacy vesa driver for graphics. Add a driver which supports driver model. This can be probed only when needed, removing the need to start up the display if it is not used. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
| * x86: video: Fix typo in broadwell KconfigSimon Glass2016-10-11-1/+1
| | | | | | | | | | | | | | 'enabled' should be 'enables'. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* | simple panel: fix spelling of debug messageMarcel Ziswiler2016-10-10-1/+1
|/ | | | | | | | Fix spelling of debug message from cnnot to cannot. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Tom Warren <twarren@nvidia.com>
* treewide: replace #include <asm-generic/errno.h> with <linux/errno.h>Masahiro Yamada2016-09-23-1/+1
| | | | | | | | | | | | | | Now, include/linux/errno.h is a wrapper of <asm-generic/errno.h>. Replace all include directives for <asm-generic/errno.h> with <linux/errno.h>. <asm-generic/...> is supposed to be included from <asm/...> when arch-headers fall back into generic implementation. Generally, they should not be directly included from .c files. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [trini: Add drivers/usb/host/xhci-rockchip.c] Signed-off-by: Tom Rini <trini@konsulko.com>
* treewide: replace #include <asm/errno.h> with <linux/errno.h>Masahiro Yamada2016-09-23-8/+8
| | | | | | | | | | | Now, arch/${ARCH}/include/asm/errno.h and include/linux/errno.h have the same content. (both just wrap <asm-generic/errno.h>) Replace all include directives for <asm/errno.h> with <linux/errno.h>. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> [trini: Fixup include/clk.] Signed-off-by: Tom Rini <trini@konsulko.com>
* video: squash lines for immediate returnMasahiro Yamada2016-09-23-27/+5
| | | | | | | | | | | | For vidconsole_post_probe(), it is common coding style to let a probe method return the value of a register function. The others will become simple wrapper functions. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Anatolij Gustschin <agust@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com>
* sunxi: display: Use PWM to drive backlight where applicableHans de Goede2016-08-26-0/+11
| | | | | | | | | | | | | | | | | | | | | When the backlight's pwm input is connected to a pwm output of the SoC, actually use pwm to drive the backlight. The mean reason for doing this is to fix the backlight turning off for aprox. 1 second while the kernel is booting. This is caused by the kernel actually using pwm to drive the backlight, so that it can dim the backlight. First the pwm driver loads and switches the pinmux for the pin driving the backlight's pwm input to the pwm controller. Then about 1s later the actual backlight driver loads and tells the pwm driver to actually update the pwm settings, which have a power-on-reset value of "off". An additional advantage is that this allows us to initatiate the backlight at 80%, which is the kernel default, avoiding a brightness change while the kernel loads. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed by: Peter Korsgaard <peter@korsgaard.com>
* Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini2016-07-27-1/+3
|\
| * video: allow version string to be optional when using LOGOTim Harvey2016-07-11-1/+3
| | | | | | | | | | | | | | The CONFIG_HIDE_LOGO_VERSION config can be used to disable putting the U-Boot version string on top of the logo. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* | rockchip: Use rockchip_get_clk() to obtain the SoC clockSimon Glass2016-07-25-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The current code picks the first available clock. In U-Boot proper this is the oscillator device, not the SoC clock device. As a result the HDMI display does not work. Fix this by calling rockchip_get_clk() instead. Fixes: 135aa950 (clk: convert API to match reset/mailbox style) Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de>
* | Various, unrelated tree-wide typo fixes.Robert P. J. Day2016-07-16-1/+1
|/ | | | | | | | | | | | | | | | | | | Fix a number of typos, including: * "compatble" -> "compatible" * "eanbeld" -> "enabled" * "envrionment" -> "environment" * "FTD" -> "FDT" (for "flattened device tree") * "ommitted" -> "omitted" * "overriden" -> "overridden" * "partiton" -> "partition" * "propogate" -> "propagate" * "resourse" -> "resource" * "rest in piece" -> "rest in peace" * "suport" -> "support" * "varible" -> "variable" Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
* Merge branch 'master' of git://git.denx.de/u-boot-tegraTom Rini2016-07-06-281/+52
|\
| * tegra: video: Always use write-through cache on LCDSimon Glass2016-07-05-18/+3
| | | | | | | | | | | | | | | | This seems to give the best performance, so let's use it always. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * video: tegra: Move to using simple-panel and pwm-backlightSimon Glass2016-07-05-263/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have standard drivers for panels and backlights which can do most of the work for us. Move the tegra20 LCD driver over to use those instead of custom code. This patch includes device tree changes for the nvidia boards. I have only been able to test seaboard. If this patch is applied, these boards will also need to be synced with the kernel, and updated to use display-timings: - colibri - medcom-wide - paz00 - tec Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
* | rockchip: video: Lower hpd wait timeSjoerd Simons2016-07-05-1/+1
|/ | | | | | | | | | | | | Waiting 30 seconds for the hpd to go high seems a bit much, especially on headless boots. Lowering the timeout to 300ms. Sending as RFC because frankly i don't know what a sensible timeout is here, but 30 seconds is clearly not it :) Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Reviewed-by: Simon Glass <sjg@chromium.org> Dropped RFC tag: Signed-off-by: Simon Glass <sjg@chromium.org>
* clk: convert API to match reset/mailbox styleStephen Warren2016-06-19-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following changes are made to the clock API: * The concept of "clocks" and "peripheral clocks" are unified; each clock provider now implements a single set of clocks. This provides a simpler conceptual interface to clients, and better aligns with device tree clock bindings. * Clocks are now identified with a single "struct clk", rather than requiring clients to store the clock provider device and clock identity values separately. For simple clock consumers, this isolates clients from internal details of the clock API. * clk.h is split so it only contains the client/consumer API, whereas clk-uclass.h contains the provider API. This aligns with the recently added reset and mailbox APIs. * clk_ops .of_xlate(), .request(), and .free() are added so providers can customize these operations if needed. This also aligns with the recently added reset and mailbox APIs. * clk_disable() is added. * All users of the current clock APIs are updated. * Sandbox clock tests are updated to exercise clock lookup via DT, and clock enable/disable. * rkclk_get_clk() is removed and replaced with standard APIs. Buildman shows no clock-related errors for any board for which buildman can download a toolchain. test/py passes for sandbox (which invokes the dm clk test amongst others). Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>