summaryrefslogtreecommitdiffstats
path: root/drivers/video
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-next/vpl'Sascha Hauer2015-08-0711-182/+778
|\
| * video: Add simple-panel supportSascha Hauer2015-07-133-0/+170
| | | | | | | | | | | | | | | | | | | | This adds support for simple panels. These are panels which don't need special handling but can have enable gpios and such. Unlike the Linux kernel implementation this one is able to understand display-timings nodes so that it's not necessary to keep a list of all known displays with their corresponding timings in barebox. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: ipuv3: match ipu_di_signal_cfg's clk_pol with its descriptionSascha Hauer2015-07-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From this Linux commit: commit 85de9d17c485c4196f74d45de2206d4802f8a3be Author: Denis Carikli <denis@eukrea.com> Date: Mon Apr 7 14:44:43 2014 +0200 imx-drm: match ipu_di_signal_cfg's clk_pol with its description. According to the datasheet, setting the di0_polarity_disp_clk field in the GENERAL di register sets the output clock polarity to active high. Signed-off-by: Denis Carikli <denis@eukrea.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: ipuv3: Replace ipu_output with VPLSascha Hauer2015-07-135-178/+197
| | | | | | | | | | | | | | | | The ipuv3 makes heavy use of video encoders internally to the SoC but also external encoders are common. Switch to VPL support to be able to handle these properly. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: ipuv3: remove unused variableSascha Hauer2015-07-132-2/+0
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: Add MTL017 LVDS encoder supportSascha Hauer2015-07-133-0/+290
| | | | | | | | | | | | | | | | The MTL017 is found on the Efika Smartbook. Not much is known about this chip, so this driver only programs a register dump which is suitable for some panels. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: Add Video Pipeline (VPL) supportSascha Hauer2015-07-133-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Complex video pipelines are modelled with the of_graph bindings in the devicetree. This patch adds a ioctl infrastructure to issue commands to the remote endpoint of a of_graph. Currently defined ioctls are prepare/unprepare, enable/disable and get_modes. This is enough to control LVDS or HDMI encoder or simple panels. A device node which contains of_graph endpoints can be registered as a VPL entity. An entity can receive ioctls via the .ioctl callback and also issue ioctls by calling vpl_ioctl. The core itself will never iterate over the entire pipeline. Instead, the different VPL entities should forward an ioctl to the next instance in the pipeline whenever necessary. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/video'Sascha Hauer2015-08-062-36/+94
|\ \
| * | video: stm: reserve framebuffer memory for LinuxSascha Hauer2015-07-061-0/+2
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: Add generic fixup handler to reserve fb memorySascha Hauer2015-07-061-0/+21
| | | | | | | | | | | | | | | | | | | | | When a framebuffer is kept enabled when Linux starts its framebuffer memory should be reserved. Otherwise Linux may overwrite its contents. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: stm: honor display_flagsSascha Hauer2015-07-061-2/+4
| | | | | | | | | | | | | | | | | | | | | stmfb uses custom flags FB_SYNC_DE_HIGH_ACT and FB_SYNC_CLK_INVERT. These have generic counterparts in display_flags. Honor them aswell. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: stm: read bits-per-pixel from device treeSascha Hauer2015-07-061-0/+3
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: stm: read interface width from device treeSascha Hauer2015-07-061-0/+6
| | | | | | | | | | | | | | | | | | | | | The interface width has not been initialized when probed from device tree. Fix that. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: stm: use uncached memorySascha Hauer2015-07-061-1/+8
| | | | | | | | | | | | | | | | | | To avoid caching effects on the display use uncached memory. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: stm: code buswidth in platform data as decimalSascha Hauer2015-07-061-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of putting hardware specific bit masks in platform_data just use the decimal interface width and encode this in the driver. This makes it easier to create the platform_data and helps device tree based implementations. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: stm: copy platform_data to driver dataSascha Hauer2015-07-061-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Copy the individual fields of struct imx_fb_platformdata to the driver data rather than keeping a pointer to platform_data. This works better with device tree where no platform_data * is available. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | video: stm: remove unnecessary info functionSascha Hauer2015-07-061-13/+0
| |/ | | | | | | | | | | devinfo will show the information without the help of the driver anyway. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/fbcon'Sascha Hauer2015-08-065-12/+483
|\ \
| * | video: implement framebuffer consoleAntony Pavlov2015-07-204-0/+450
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch realizes framebuffer console support for barebox. It supports colors and enough escape sequences to show the barebox console and editor properly. fbconsole mini-HOWTO ==================== 1. compile sandbox barebox with CONFIG_VIDEO=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_DRIVER_VIDEO_SDL=y 2. run barebox 3. test fbconsole fbconsole0.active=oe Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | fb: sdl: create graphics window on enablingSascha Hauer2015-07-201-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The framebuffer should be enabled on the fb_enable callback and disabled in the fb_disable callback. In SDL context this means the grapics window has to be created / destroyed in fb_enable / fb_disable. With this change the framebuffer has to be enabled explicitly with fb0.enable=1 like with other framebuffer driver aswell. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | fb: Add fb_enable/disable functionsSascha Hauer2015-07-201-5/+24
| |/ | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / video: backlight-pwm: depend on GPIOLIBLucas Stach2015-07-291-1/+1
|/ | | | | | | | | | | | The PWM backlight driver does not only control PWMs but also GPIOs. Fixes: In file included from include/gpio.h:4:0, from drivers/video/backlight-pwm.c:27: arch/arm/include/asm/gpio.h:5:23: fatal error: mach/gpio.h: No such file or directory Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: Add PWM backlight supportSascha Hauer2015-06-123-0/+208
| | | | | | This adds a backlight driver for backlights controlled by a PWM. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: Add backlight supportSascha Hauer2015-06-123-0/+95
| | | | | | | This adds a small backlight layer. It provides a backlight device on which the brightness parameter can be used to adjust the brightness. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: stmfb: Add device tree supportSascha Hauer2015-06-121-10/+42
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* of: use 'const void *' for struct of_device_id.dataAntony Pavlov2015-04-303-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 2011 barebox' of_device_id struct uses unsigned long type for data field: struct of_device_id { char *compatible; unsigned long data; }; Almost always struct of_device_id.data field are used as pointer and need 'unsigned long' casting. E.g. see 'git grep -A 4 of_device_id drivers/' output: drivers/ata/sata-imx.c:static __maybe_unused struct of_device_id imx_sata_dt_ids[] = { drivers/ata/sata-imx.c- { drivers/ata/sata-imx.c- .compatible = "fsl,imx6q-ahci", drivers/ata/sata-imx.c- .data = (unsigned long)&data_imx6, drivers/ata/sata-imx.c- }, { Here is of_device_id struct in linux kernel v4.0: struct of_device_id { char name[32]; char type[32]; char compatible[128]; const void *data; }; Changing of_device_id.data type to 'const void *data' will increase barebox' linux kernel compatibility and decrease number of 'unsigned long' casts. Part of the patch was done using the 'coccinelle' tool with the following semantic patch: @rule1@ identifier dev; identifier type; identifier func; @@ func(...) { <... - dev_get_drvdata(dev, (unsigned long *)&type) + dev_get_drvdata(dev, (const void **)&type) ...> } @rule2@ identifier dev; identifier type; identifier func; identifier data; @@ func(...) { <... - dev_get_drvdata(dev, (unsigned long *)&type->data) + dev_get_drvdata(dev, (const void **)&type->data) ...> } Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: move DMA alloc functions to dma.hLucas Stach2015-03-068-6/+5
| | | | | | | | | | This better separates the DMA from the MMU functionality. Also move all drivers that only depends on asm/mmu.h for the alloc functions over to the common header. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: change dma_alloc/free_coherent to match other architecturesLucas Stach2015-03-065-10/+14
| | | | | | | | | As a lot drivers currently rely on the 1:1 virt->phys mapping on ARM we define DMA_ADDRESS_BROKEN to mark them. In order to use them on other architectures with a different mapping they need proper fixing. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/mxs'Sascha Hauer2015-01-091-1/+0
|\
| * drivers: remove unnecessary mach/imx-regs.h includeSascha Hauer2015-01-051-1/+0
| | | | | | | | | | | | And replace the ones needed with the SoC specific header. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | video: imx-hdmi: search for DDC node only when EDID support is enabledLucas Stach2014-12-171-9/+11
|/ | | | | | | | | | | | | This uses i2c functions that may not be available in every configuration and is only needed if EDID support is enabled, which in turn already selects I2C. Fixes: drivers/video/imx-ipu-v3/imx-hdmi.c: undefined reference to `of_find_i2c_adapter_by_node' Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: EDID: depends on I2CSascha Hauer2014-11-271-0/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: ipuv3: select OFDEVICE for HDMI and LVDSLucas Stach2014-11-241-0/+2
| | | | | | | Both components need the OF display timings helpers. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* imx: ipu-v3: fix typo leading to build warningLucas Stach2014-10-211-1/+1
| | | | | | | This PAGE_SIZE clearly should not be there. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* resource: Let dev_request_mem_region return an error pointerSascha Hauer2014-09-164-0/+10
| | | | | | For all users fix or add the error check. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* resource: Let dev_request_mem_region_by_name return an error pointerSascha Hauer2014-09-161-1/+2
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* sandbox: allow "make ARCH=sandbox allyesconfig"Holger Schurig2014-07-221-0/+1
| | | | | | | | | | | | | Compiling the tree with allyesconfig is helpful because different compilers (gcc, clang) or static checkers (e.g. clang's scan-build) can then process and check more code. This patch introduces two new configuration symbols that Kconfig files can depend on. That way, code that is only working where a cache or DMA implementation exists can be opted out. Signed-off-by: Holger Schurig <holgerschurig@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: remove address of the Free Software FoundationAntony Pavlov2014-06-113-12/+0
| | | | | | | | | | | | | | | | | | The FSF address has changed; The FSF site says that address is Free Software Foundation 51 Franklin Street, Fifth Floor Boston, MA 02110-1301 USA (see http://www.fsf.org/about/contact/) Instead of updating it each time the address changes, just drop it completely treewide. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/imx'Sascha Hauer2014-06-042-1/+59
|\ | | | | | | | | Conflicts: arch/arm/configs/tx25stk5_defconfig
| * video: i.MX IPUv3 ldb: implement i.MX53 supportSascha Hauer2014-05-091-1/+30
| | | | | | | | | | | | Configure the clock path correctly for i.MX53. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: i.MX IPUv3: Implement i.MX5 IPU reset supportSascha Hauer2014-05-091-0/+29
| | | | | | | | | | | | Needed to make the IPU driver work on i.MX5 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | devinfo: make the output of "devinfo DEVICE" nicerHolger Schurig2014-06-021-5/+2
|/ | | | | | | | | | | | | | | * some output sections started with "foo: bar", some with "foo = bar". Unify this. * there was a fixed size to the "foo =" parameters, which wasn't fitting, this was especially visible at "devinfo global" * don't output "resources:", "driver:" and "bus:" lines if there are none resources, drivers or busses involved. * remove some empty lines * harmonize differentiation between headlines (e.g. "resources:") and values by indenting values slightly * uppercase some texts Signed-off-by: Holger Schurig <holgerschurig@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: i.MX IPUv3: Print error as stringSascha Hauer2014-05-081-2/+2
| | | | | | And add a missing newline. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: i.MX IPUv3: remove debug leftoverSascha Hauer2014-05-081-1/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: imx-ipu-v3: remove unneeded 'dmfc' checkSascha Hauer2014-04-231-3/+0
| | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Suggested-by: Fabio Estevam <festevam@gmail.com>
* video: displaytimings: remove two broken error messagesLucas Stach2014-04-231-6/+2
| | | | | | | | | The error messages would dereference the just checked NULL ptr. As those messages don't add much value without further info just remove them. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* fb: Fix use of unitialized variableSascha Hauer2014-04-081-8/+7
| | | | | | | | 'ret' is only initialized when info->fbops->fb_activate_var exists, so only use it in this case. Reported-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2014-04-043-15/+0
|\
| * drivers: treewide: Kill empty remove() implementationsAlexander Shiyan2014-04-023-15/+0
| | | | | | | | | | Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | video: i.MX IPUv3: Add hdmi supportSascha Hauer2014-03-294-0/+2333
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>