aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
AgeCommit message (Collapse)AuthorFilesLines
2012-02-29OMAPDSS: APPLY: make ovl_enable/disable synchronousTomi Valkeinen1-0/+6
ovl->enable/disable are meant to be synchronous so that they can handle the configuration of fifo sizes. The current kernel doesn't configure fifo sizes yet, and so the code doesn't need to block to function (from omapdss driver's perspective). However, for the users of omapdss a non-blocking ovl->disable is confusing, because they don't know when the memory area is not used any more. Furthermore, when the fifo size configuration is added in the next merge window, the change from non-blocking to blocking could cause side effects to the users of omapdss. So by making the functions block already will keep them behaving in the same manner. And, while not the main purpose of this patch, this will also remove the compile warning: drivers/video/omap2/dss/apply.c:350: warning: 'wait_pending_extra_info_updates' defined but not used Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-29OMAPDSS: panel-dvi: Add Kconfig dependency on I2CTomi Valkeinen1-1/+1
panel-dvi uses i2c, but the Kconfig didn't have dependency on I2C. Add it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-29Merge branch 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanupArnd Bergmann2-5/+3
* 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: Fix L4_EMU_34XX_BASE error after iomap changes ARM: OMAP2+: Limit omap_read/write usage to legacy USB drivers ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.h ARM: OMAP2+: Move most of plat/io.h into local iomap.h ARM: OMAP1: Move most of plat/io.h into local iomap.h ARM: OMAP1: Move 16xx GPIO system clock to platform init code ARM: OMAP: Move omap_init_consistent_dma_size() to local common.h ARM: OMAP2+: Move SDRC related functions from io.h into local common.h ARM: OMAP2+: Drop DISPC L3 firewall code ARM: OMAP2xxx: PM: remove obsolete timer disable code in the suspend path ARM: OMAP: McSPI: Remove unused flag from struct omap2_mcspi_device_config (update to latest rmk/for-arm-soc branch) Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2012-02-24ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.hTony Lindgren1-0/+3
This is needed to minimize io.h so the SoC specific io.h for ARMs can removed. Note that minimal driver changes for DSS and RNG are needed to include cpu.h for SoC detection macros. Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Matt Mackall <mpm@selenic.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-02-24ARM: OMAP2+: Drop DISPC L3 firewall codeTony Lindgren1-5/+0
This is only needed when using SRAM for framebuffer, and the support for SRAM framebuffer is about to get removed. Otherwise we cannot move most of plat/io.h to be a local iomap.h for mach-omap2. Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: linux-fbdev@vger.kernel.org Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-02-24Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-shLinus Torvalds1-1/+1
SuperH fixes for 3.3-rc5 * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh: sh: Fix sh2a build error for CONFIG_CACHE_WRITETHROUGH sh: modify a resource of sh_eth_giga1_resources in board-sh7757lcr arch/sh: remove references to cpu_*_map. sh: Fix typo in pci-sh7780.c sh: add platform_device for SPI1 in setup-sh7757 sh: modify resource for SPI0 in setup-sh7757 sh: se7724: fix compile breakage sh: clkfwk: bugfix: use clk_reparent() for div6 clocks sh: clock-sh7724: fixup sh_fsi clock settings sh: sh7757lcr: update to the new MMCIF DMA configuration sh: fix the sh_mmcif_plat_data in board-sh7757lcr video: pvr2fb: Fix up spurious section mismatch warnings. sh: Defer to asm-generic/device.h.
2012-02-24FB: sa11x0: convert to use platform resource and ioremap()Russell King2-25/+54
Convert the sa11x0 framebuffer driver to obtain the base address of its hardware registers from the platform resources, and ioremap this rather than relying on the static mappings. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-24video: s3c-fb: use devm_request_irq()Jingoo Han1-4/+1
The devm_ functions allocate memory that is released when a driver detaches. This patch uses devm_request_irq of these functions. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-24drivers/video/pxa168fb.c: use devm_ functionsJulia Lawall1-9/+6
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. By using devm_ioremap, it also removes a potential memory leak, because there was no call to iounmap in the probe function. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-24Merge branch 'fbdev-for-linus' into fbdev-nextFlorian Tobias Schandinat8-43/+65
2012-02-24viafb: fix IGA1 modesetting on VX900Florian Tobias Schandinat1-0/+3
Even if the documentation calls this bit "Reserved" it has to be set to 0 for correct modesetting on IGA1. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@vger.kernel.org
2012-02-24viafb: select HW scaling on VX900 for IGA2Florian Tobias Schandinat1-0/+1
VX900 can do hardware scaling for both IGAs in contrast to previous hardware which could do it only for IGA2. This patch ensures that we set the parameter for IGA2 and not for IGA1. This fixes hardware scaling on VX900 until we have the infrastructure to support it for both IGAs. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Cc: stable@vger.kernel.org
2012-02-24Merge branch 'for-3.3-rc' of git://gitorious.org/linux-omap-dss2/linux into fbdev-for-linusFlorian Tobias Schandinat2-9/+24
2012-02-23OMAPDSS: HDMI: hot plug detect fixRob Clark1-8/+1
The "OMAPDSS: HDMI: PHY burnout fix" commit switched the HDMI driver over to using a GPIO for plug detect. Unfortunately the ->detect() method was not also updated, causing HDMI to no longer work for the omapdrm driver (because it would actually check if a connection was detected before attempting to enable display). Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-23OMAPDSS: HACK: Ensure DSS clock domain gets out of idle when HDMI is enabledArchit Taneja1-1/+23
For DSS clock domain to transition from idle to active state. It's necessary to enable the optional clock DSS_FCLK before we enable the module using the MODULEMODE bits in the clock domain's CM_DSS_DSS_CLKCTRL register. This sequence was not followed correctly for the 'dss_hdmi' hwmod and it led to DSS clock domain not getting out of idle when pm_runtime_get_sync() was called for hdmi's platform device. Since the clock domain failed to change it's state to active, the hwmod code disables any clocks it had enabled before for this hwmod. This led to the clock 'dss_48mhz_clk' gettind disabled. When hdmi's runtime_resume() op is called, the call to dss_runtime_get() correctly enables the DSS clock domain this time. However, the clock 'dss_48mhz_clk' is needed for HDMI's PHY to function correctly. Since it was disabled previously, the driver fails when it tries to enable HDMI's PHY. Fix this for now by ensuring that dss_runtime_get() is called before we call pm_runtime_get_sync() for hdmi's platform device. A correct fix for later would be to modify the DSS related hwmod's mainclks, and also some changes in how opt clocks are handled in the DSS driver. This fixes the issue of HDMI not working when it's the default display. The issue is not seen if any other display is already enabled as the first display would have correctly enabled the DSS clockdomain. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-23Merge branch 'work/old-omapfb-removal'Tomi Valkeinen13-4103/+43
2012-02-23OMAPFB: remove remaining OMAP arch checksTomi Valkeinen3-10/+3
Now that the old omapfb driver is only omap1 display driver, there's no need to check if the arch is omap1. This patch removes the few remaining checks for the arch. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-02-23OMAPFB: Move old omapfb private structs to a private include fileTomi Valkeinen1-0/+25
include/linux/omapfb.h contains structs that are used only by the omapfb driver. Move the structs into drivers/video/omap/omapfb.h. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-23OMAPFB: remove unused fb_format_to_dss_mode()Tomi Valkeinen1-54/+0
fb_format_to_dss_mode() function is no longer used, so remove it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-23OMAPFB: remove mem info from platform_dataTomi Valkeinen2-48/+0
omapfb driver used platform_data to get fb memory areas and formats defined by the board file. This patch removes omapfb's (both old and new omapfb) use of the memory data in platform_data, because: - No board uses them currently - It's not board file's job to define things like amount of default framebuffer memory. These should come from the bootloader via command line parameters. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-23OMAP: N770: remove HWA742 platform dataTomi Valkeinen1-16/+5
In an effort to clean up the old omapfb driver, this patch removes HWA742 (the display chip used in N770) platform data. This can be done as N770 is the only user of HWA742, and the platform data contains only one field, te_connected, which we can just presume to be true in the HWA742 driver. This allows us to remove omapfb_set_ctrl_platform_data(), and the mechanism to pass the platform data, in a later patch. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-02-23OMAPFB: Remove video SRAM support (old omapfb)Tomi Valkeinen1-1/+1
OMAP SRAM can be used as video memory on OMAP1 and 2. However, there usually is very little SRAM available, thus limiting its use, and no board supported by the kernel currently uses it. This patch removes the use of SRAM as video ram for the old omapfb driver to simplify memory handling. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-02-23OMAPDSS: Remove video SRAM supportTomi Valkeinen4-98/+8
OMAP SRAM can be used as video memory on OMAP1 and 2. However, there usually is very little SRAM available, thus limiting its use, and no board supported by the kernel currently uses it. This patch removes the use of SRAM as video ram for the omapdss driver to simplify memory handling. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Tony Lindgren <tony@atomide.com>
2012-02-22OMAPFB: Remove OMAP2/3 support from old omapfb driverTomi Valkeinen7-2220/+5
Old omapfb driver (drivers/video/omap/) is no longer used for OMAP2+ devices, and thus we can remove OMAP2+ support from it and make it an OMAP1 omapfb driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-22OMAPFB: remove old blizzard driverTomi Valkeinen4-1660/+0
N8x0's blizzard driver has been ported to new omapdss driver, so we can now remove the old blizzard driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21FB: sa11x0: convert shannon display enable accesses to use GPIO subsystemRussell King1-8/+16
Rather than accessing GPSR and GPCR directly, use the GPIO subsystem instead. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa11x0: fix shannon GPSR/GPCR accessesRussell King1-2/+2
The GPIO set and clear registers should only be written, rather than read, modified, and written. A read-modify-write will have undesired side effects. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: make GPIO configuration setting safeRussell King1-0/+11
The sa1100fb driver needs to set the GPIO direction and alternate function register according to the panel that we're driving. We've done this in the driver by read-modify-writing the register, which may cause problems with races. Fix this with a minimal change. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: use inf members directlyRussell King2-29/+12
Now that the LCD information is available while the driver is loaded, we don't need to cache that information into our driver private data structure. Get rid of it. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: remove assabet specific initializationRussell King1-8/+0
Remove the assabet specific initialization for PAL output mode - we call the lcd_power function before we enable the LCD controller, which will disable the LCD panel to prevent it receiving incorrect timings. Therefore, this setup here is redundant. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: remove global sa1100fb_.*_power function pointersRussell King2-23/+11
Now that we have platform data contained within the individual board code, we can get rid of the global function pointers, placing them inside the platform data instead. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: move platform data to platform filesRussell King1-233/+6
Move platform data out of the sa1100fb driver into the various platform files themselves. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: move machine inf structures to <video/sa1100fb.h>Russell King2-43/+5
Move the LCD data structures to an include file which can be shared with the board code in arch/arm/mach-sa1100. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: combine RGB bitfield overrides into sa1100fb_mach_infoRussell King2-19/+24
Allow the sa1100fb_mach_info structure to carry the RGB bitfield overrides, rather than requiring them to be separately initialized in sa1100fb_get_machine_info(). Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: convert printks to dev_xxx()Russell King2-47/+34
Use the dev_xxx() macros for driver kernel message output, rather than open coded printk() with KERN_ levels etc. Remove DPRINTK(). Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: constify rgb structuresRussell King2-5/+5
The rgb structures should only be read and never written. Constify them. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: add .owner initializer to driver structureRussell King1-0/+1
Annotate the driver structure with the .owner field, to allow the module to be associated with the driver. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21FB: sa1100: avoid section mismatch warningsRussell King1-14/+14
WARNING: drivers/video/built-in.o(.devinit.text+0x58): Section mismatch in reference from the function sa1100fb_probe() to the function .init.text:sa1100fb_init_fbinfo() The function __devinit sa1100fb_probe() references a function __init sa1100fb_init_fbinfo(). If sa1100fb_init_fbinfo is only used by sa1100fb_probe then annotate sa1100fb_init_fbinfo with a matching annotation. WARNING: drivers/video/built-in.o(.devinit.text+0x258): Section mismatch in reference from the function sa1100fb_init_fbinfo() to the (unknown reference) .init.data:(unknown) The function __devinit sa1100fb_init_fbinfo() references a (unknown reference) __initdata (unknown). If (unknown) is only used by sa1100fb_init_fbinfo then annotate (unknown) with a matching annotation. WARNING: drivers/video/built-in.o(.devinit.text+0x26c): Section mismatch in reference from the function sa1100fb_init_fbinfo() to the (unknown reference) .init.data:(unknown) The function __devinit sa1100fb_init_fbinfo() references a (unknown reference) __initdata (unknown). If (unknown) is only used by sa1100fb_init_fbinfo then annotate (unknown) with a matching annotation. WARNING: drivers/video/built-in.o(.devinit.text+0x270): Section mismatch in reference from the function sa1100fb_init_fbinfo() to the (unknown reference) .init.data:(unknown) The function __devinit sa1100fb_init_fbinfo() references a (unknown reference) __initdata (unknown). If (unknown) is only used by sa1100fb_init_fbinfo then annotate (unknown) with a matching annotation. WARNING: drivers/video/built-in.o(.devinit.text+0x278): Section mismatch in reference from the function sa1100fb_init_fbinfo() to the (unknown reference) .init.data:(unknown) The function __devinit sa1100fb_init_fbinfo() references a (unknown reference) __initdata (unknown). If (unknown) is only used by sa1100fb_init_fbinfo then annotate (unknown) with a matching annotation. Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-21viafb: Fix bug in centering codeFlorian Tobias Schandinat1-1/+1
Obviously this is a typo and although there were no effects observed it's probably better to fix it. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-21viafb: another workaround for OLPCs weird wiringFlorian Tobias Schandinat1-2/+4
On OLPC we must not touch this I2C bus or it will hang. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
2012-02-21OMAPDSS: HDMI: Modify logic to configure MCLKRicardo Neri1-2/+4
The MCLK mode defines a factor to divide the clock that is used to generate the Audio Clock Regeneration packets, MCLK. The divisor is not used when the CTS value is calculated by HW. When the value is calculated by SW, it depends on the silicon revision. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: HDMI: Implement initialization of MCLKRicardo Neri1-15/+22
When the MCLK is used to drive the Audio Clock Regeneration packets, the initialization procedure is to set ACR_CTRL[2] to 0 and then back again to 1. Also, devices that do not support the MCLK, use the TMDS clock directly by leaving ACR_CTRL[2] set to 0. The MLCK clock divisor, mclk_mode, is configured only if MLCK is used. Such configuration is no longer related to the CTS mode as in some silicon revisions CTS SW-mode is used along with the MCLK. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: Add DSS feature for HDMI MCLK for audioRicardo Neri2-0/+42
Certain OMAP4 revisions (i.e., 4430 ES2.3, 4460, and 4470) use a pseudo clock (generated from the TMDS clock), MCLK, to drive the generation of Audio Clock Regeneration packets. Other devices (i.e., 4430 ES2.[0,2]) use the TMDS clock directly. This patch adds a new DSS feature for MCLK support. It also rearranges the omap_dss_features structures to reflect the devices supporting it. Signed-off-by: Ricardo Neri <ricardo.neri@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: TPO-TD03MTEA1: update default gammaGrazvydas Ignotas1-1/+1
Over time better gamma has been determined and tuned with some equipment so update the defaults. From subjective point of view dark shades should be better visible. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: TPO-TD03MTEA1: fix suspend hangGrazvydas Ignotas1-43/+108
During system suspend, at the time DSS is being suspended, SPI is already suspended and it's clocks are cut. Because of this trying to communicate with the LCD controller results in a deadlock. To fix this, split out LCD programming parts of display enable/disable functions and perform them from SPI PM callbacks instead when system is being suspended. If the display is just being enabled/disabled, do it from DSS callbacks as before. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: HDMI: Move Avi-infoframe struct to hdmi_ip_dataMythri P K3-44/+46
With AVI infoframe various parameters of video stream such as aspect ratio, quantization range, videocode etc will be indicated from source to sink.Thus AVI information needs to be set/accessed by the middle ware based on the video content. Thus this parameter is now moved to the ip_data structure. Signed-off-by: Mythri P K <mythripk@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: add Innolux AT080TN52 display supportYegor Yefremov1-0/+23
This patch adds support for Innolux AT080TN52 800x600 panel. Tested with AM3517 based board. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: DISPC: Fix scaling constraints for OMAP4Archit Taneja1-4/+8
The calculation of required DISPC_FCLK for downscaling is done by multplying the pixel clock with an integer factor. This isn't true for OMAP4 where the required clock is calculated using the exact ratio of downscaling done. Fix this calculation for OMAP4. Also, do a minor clean up of calc_fclk(). Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: Features: Maintain dss_feats as a listArchit Taneja2-66/+128
The number of dss_feat_id members has increased to a large value, the current way of assigning a subset of these features (for a particular OMAP) as a mask is no longer feasible. Maintain the subset of features supported as lists. Make the function dss_has_feature() traverse through this list. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2012-02-21OMAPDSS: cleanup probe functionsTomi Valkeinen5-71/+61
Now that dss is using devm_ functions for allocation in probe functions, small reordering of the allocations allows us to clean up the probe functions more. This patch moves "unmanaged" allocations after the managed ones, and uses plain returns instead of gotos where possible. This lets us remove a bunch of goto labels, simplifying the probe's error handling. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>