summaryrefslogtreecommitdiff
path: root/drivers/video/ipu_common.c
AgeCommit message (Collapse)Author
2019-04-13video: move ipuv3 files to subdirectoryAnatolij Gustschin
Place ipuv3 files and headers in custom driver subdirectory. Signed-off-by: Anatolij Gustschin <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
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 <[email protected]>
2018-01-03video: ipu: Fix dereferencing NULL pointer problemPeng Fan
The clk_set_rate function dereferences the clk pointer without checking whether it is NULL. This may cause problem when clk is NULL. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Anatolij Gustschin <[email protected]>
2017-09-11ipu_common: Let the MX6 IPU clock be calculated in run-timeFabio Estevam
MX6Q/QP IPU operates at 264MHz and MX6DL IPU at 198MHz. When running a SPL target, which supports multiple MX6 variants we cannot properly setup the IPU clock frequency via CONFIG_IPUV3_CLK option as such decision is done in build-time currently. Remove the CONFIG_IPUV3_CLK option and let the IPU clock frequency be configured in run-time on mx6. Reported-by: Eric Nelson <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Eric Nelson <[email protected]> Reviewed-by: Stefano Babic <[email protected]> [agust: fixed #endif in cgtqmx6eval.h] Signed-off-by: Anatolij Gustschin <[email protected]>
2017-09-04video: ipuv3_fb: skip IPU shutdown if IPU was not enabled beforeAnatolij Gustschin
Boards can skip display interface init using board_video_skip(). If display interface was not initialized (e.g. no ipuv3 framebuffer registered or IPU clock disabled), booting Linux stops due to the crash in IPU shutdown function, when accessing IPU registers. Check IPU clock and skip shutdown if clock is not enabled. Signed-off-by: Anatolij Gustschin <[email protected]>
2016-09-23treewide: replace #include <asm/errno.h> with <linux/errno.h>Masahiro Yamada
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 <[email protected]> [trini: Fixup include/clk.] Signed-off-by: Tom Rini <[email protected]>
2016-04-28video: ipu_common: fix build errorPeng Fan
Some toolchains fail to build "clk->rate = (u64)(clk->parent->rate * 16) / div;" And the cast usage is wrong. Use the following code to fix the issue, " do_div(parent_rate, div); clk->rate = parent_rate; " Reported-by: Peter Robinson <[email protected]> Signed-off-by: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Tom Rini <[email protected]> Cc: Anatolij Gustschin <[email protected]> Cc: Peter Robinson <[email protected]> Reviewed-by: Tom Rini <[email protected]> Tested-by: Peter Robinson <[email protected]>
2016-03-14video: ipu: avoid overflow issuePeng Fan
Multiplication, as "clk->parent->rate * 16" may overflow. So use do_div to avoid such issue. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Sandor Yu <[email protected]> Cc: Anatolij Gustschin <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]>
2015-04-20video, ipu: make ldb clock frequency overwritable through board codeHeiko Schocher
the ldb clock can be setup in board code (for example set through PLL5). Update the ldb_clock rate also through board code. This should be removed, if a clock framework is availiable. Signed-off-by: Heiko Schocher <[email protected]> Tested-by: Eric Nelson <[email protected]>
2015-04-20video, ipu: make ldb_clock configurableHeiko Schocher
make the ldb_clock configurable through the new define CONFIG_SYS_LDB_CLOCK. This is needed as the ldb clock is not always 650000000, for example on the aristainetos2 board, where the ldb clock derives from PLL5 clock. Signed-off-by: Heiko Schocher <[email protected]> Tested-by: Eric Nelson <[email protected]>
2014-10-25video: ipu: prevent warnings with W=1Jeroen Hofstee
- make local functions static - remove unused is_interlaced function Signed-off-by: Jeroen Hofstee <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2012-11-06ipu common: reset ipuv3 correctlyLiu Ying
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 <[email protected]>
2012-10-15mx5: Use explicit clock gate namesBenoît Thébaudeau
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 <[email protected]> Cc: Stefano Babic <[email protected]>
2012-10-15i.MX6: provide functional names for CCM_CCGR0-CCGR6 bit fieldsEric Nelson
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 <[email protected]>
2012-07-10ipu_common: Add ldb_clk for use in parenting the pixel clockEric Nelson
Add ldb_clk for use in parenting the pixel clock. Signed-off-by: Eric Nelson <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2012-07-10ipu_common: Do not hardcode the ipu_clk frequencyFabio Estevam
Do not hardcode the ipu_clk frequency and let the board file pass this value. Signed-off-by: Fabio Estevam <[email protected]>
2012-07-10ipu_common: Rename MXC_CCM_BASEFabio Estevam
Rename MXC_CCM_BASE to CCM_BASE_ADDR as this is already defined for MX6. Signed-off-by: Fabio Estevam <[email protected]>
2012-07-10ipu_common: Let clk_ipu_enable/disable only run on MX51 and MX53Fabio Estevam
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 <[email protected]>
2012-07-10ipu_common: Only apply the erratum to MX51Fabio Estevam
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 <[email protected]>
2010-10-22MX51: Add IPU driver for video supportStefano Babic
The patch is a porting of the IPU Linux driver developed by Freescale to have framebuffer functionalities in u-boot. The port is based on kernel 2.6.31 commit cc4fe714041805997b601fe8e5dd585d8a99297f, as delivered by Freescale [i.MX BSP]. Most features are dropped from the original driver and only LCD support is the goal of this porting. Signed-off-by: Stefano Babic <[email protected]>