summaryrefslogtreecommitdiff
path: root/drivers/video/imx
AgeCommit message (Collapse)Author
2026-02-28video: imx: ipuv3: use clock frameworkBrian Ruley
Clocks are now configurable via the common clock framework, however, users have the option use the legacy clocks if desired. The intent is to keep the changes minimal for this old SoC. Signed-off-by: Brian Ruley <[email protected]>
2026-02-28video: imx: ipuv3: move clock code to legacyBrian Ruley
In preparation for CCF migration for IPUv3 separate existing clock code to legacy files. These will be used by i.MX5 that currently does not support the CCF. No functional change. Signed-off-by: Brian Ruley <[email protected]>
2026-02-17treewide: Clean up DECLARE_GLOBAL_DATA_PTR usagePeng Fan
Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and drop the unnecessary inclusion of asm/global_data.h. Headers should be included directly by the files that need them, rather than indirectly via global_data.h. Reviewed-by: Patrice Chotard <[email protected]> #STMicroelectronics boards and STM32MP1 ram test driver Tested-by: Anshul Dalal <[email protected]> #TI boards Acked-by: Yao Zi <[email protected]> #TH1520 Signed-off-by: Peng Fan <[email protected]>
2025-12-30Merge patch series "video: Remove unused drivers, clean up dependencies"Tom Rini
Tom Rini <[email protected]> says: This is v2 of the series I originally posted back in August[1]. The changes here are that I've dropped the first patch as TI has recently posted their rework of the driver in question, and I added Svyatoslav's Reviewed-by tag. The end goal here is that "allyesconfig" will be able to build (on sandbox). [1]: https://patchwork.ozlabs.org/project/uboot/list/?series=468123&state=* Link: https://lore.kernel.org/r/[email protected]
2025-12-30video: Tighten some video driver dependenciesTom Rini
A few video drivers cannot build without access to some platform specific header files. Express those requirements in Kconfig as well. Signed-off-by: Tom Rini <[email protected]>
2025-12-29video: imx: ipuv3: refactor to use dm-managed stateBrian Ruley
Get rid of most globals that are spread around between TU's and place them in their own structs managed by dm. Device state is now owned by each driver instance. This design mirrors the Linux IPUv3 driver architecture. This work is done in preparation to migrate the driver to the clock framework. While not the primary intent, this change also enables multiple IPU instances to exist contemporarily. Signed-off-by: Brian Ruley <[email protected]>
2025-12-29video: imx: ipuv3: use CONFIG_IS_ENABLEDBrian Ruley
Bring driver up-to-date with U-Boot conventions, but also takes into account SPL and TPL, let compiler optimize while keeping code more readable. Signed-off-by: Brian Ruley <[email protected]>
2025-12-29video: imx: ipuv3: add names to clk function identifiersBrian Ruley
The API should provide clear distinction in the order of parameters. Signed-off-by: Brian Ruley <[email protected]>
2025-12-29video: imx: ipuv3: fix camel casesBrian Ruley
U-Boot style specifies to use snake case and checkpatch nudge to check them every time. Signed-off-by: Brian Ruley <[email protected]>
2025-12-29video: imx: ipuv3: prefer kernel typesBrian Ruley
Conform with U-Boot guidelines and pass checkpatch checks for upcoming changes. Signed-off-by: Brian Ruley <[email protected]>
2025-12-29video: imx: ipuv3: apply clang-formatBrian Ruley
Bring the code into compliance with U-Boot's coding style guidelines for upcoming changes. Sort includes to tidy things up and apply { RemoveBracesLLVM: true } to remove unnecessary blocks. Signed-off-by: Brian Ruley <[email protected]>
2025-12-29video: imx: ipuv3: remove undefined function declarationsBrian Ruley
These functions don't seem to be defined nor called anywhere so remove them. Signed-off-by: Brian Ruley <[email protected]>
2025-05-01video: Enable VIDEO_DAMAGE for drivers that need itAlexander Graf
Some drivers call video_set_flush_dcache() to indicate that they want to have the dcache flushed for the frame buffer. These drivers benefit from our new video damage control, because we can reduce the amount of memory that gets flushed significantly. This patch enables video damage control for all device drivers that call video_set_flush_dcache() to make sure they benefit from it. Signed-off-by: Alexander Graf <[email protected]> [Alper: Add to VIDEO_TIDSS, imply instead of select] Co-developed-by: Alper Nebi Yasak <[email protected]> Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-04-10video: imx: Add LCDIF driverMiquel Raynal
Add support for the LCD interfaces (LCDIF1/2). When probed, these interfaces request numerous clocks and power domains, attach the bridge and look for a panel in order to retrieve its capabilities and properties. There is a similar existing driver in the upper folder for other i.MX targets, I discovered this driver a bit late. It is not targeting the i.MX8MP and I have no idea how different can the LCDIF be on this SoC, but I did not manage to get it work, especially because it is not fully compliant with the device-model, especially on the clocks/power management side which is all ad-hoc. This is normal though, it was contributed more than ten years ago. Signed-off-by: Miquel Raynal <[email protected]>
2025-04-10video: imx: Add LDB driverMiquel Raynal
Add support for the LVDS Display Bridge (LDB) found on i.MX8MP. When attached, the bridge driver looks for panels connected to one of its two outputs and adapts its own configuration to use them. There is currently no support for merged/split displays. Note regarding the clock configuration: The LDB output clock should be absolutely identical to the LCDIF output clock so both blocks can talk to each other synchronously. However, the LDB clock has an internal divisor of 7 (respectively 3.5 in dual configuration) which means the LDB input clock must be explicitly set once we know the configuration. This driver was tested on i.MX8MP using a single panel connected to the LVDS2 interface. Signed-off-by: Miquel Raynal <[email protected]>
2025-04-10video: imx: Fix Makefile in order to be able to add other imx driversMiquel Raynal
The IPUv3 is one IP part of the imx world, there are others, and selecting the whole imx/ folder based on such a specific Kconfig symbol is sub-optimal. Let's always enter the imx/ folder, and then selectively compile parts of the folder based on the configuration. Signed-off-by: Miquel Raynal <[email protected]>
2024-08-26video: mxc: Avoid setting global_data fb_baseSimon Glass
This is not used, so don't set it. Signed-off-by: Simon Glass <[email protected]>
2024-07-22drivers: video: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2024-05-20Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"Tom Rini
As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-19Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""Tom Rini
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"' I failed to notice that b4 noticed it was based on next and so took that as the base commit and merged that part of next to master. This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-07video: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this driver directory and when needed add missing include files directly. Reviewed-by: Peter Robinson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-02-10Correct SPL use of PANELSimon Glass
This converts 1 usage of this option to the non-SPL form, since there is no SPL_PANEL defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2022-12-05Convert CONFIG_IMX_VIDEO_SKIP et al to KconfigTom Rini
This converts the following to Kconfig: CONFIG_IMX_VIDEO_SKIP CONFIG_IMX_HDMI Signed-off-by: Tom Rini <[email protected]>
2022-12-05global: Move remaining CONFIG_SYS_* to CFG_SYS_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-10-30video: Rename CONFIG_DM_VIDEO to CONFIG_VIDEOSimon Glass
Now that all the old code is gone, rename this option. Driver model migration is now complete. Signed-off-by: Simon Glass <[email protected]>
2022-10-17video: ipuv3: Fix error handling when getting the displayMichal Suchanek
The code checks that uclass_first_device returned a device but the returned value that is assigned is never used. Use uclass_first_device_err instead, and move the error return outside of the if block. Fixes: f4ec1ae08e ("mxc_ipuv3_fb.c: call display_enable") Signed-off-by: Michal Suchanek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-03-28video: Drop video_fb headerSimon Glass
This is not used now. Drop it. Signed-off-by: Simon Glass <[email protected]>
2022-01-19doc: replace @return by Return:Heinrich Schuchardt
Sphinx expects Return: and not @return to indicate a return value. find . -name '*.c' -exec \ sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \; find . -name '*.h' -exec \ sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \; Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-12-13dm: treewide: Rename ..._platdata variables to just ..._platSimon Glass
Try to maintain some consistency between these variables by using _plat as a suffix for them. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename 'platdata' variables to just 'plat'Simon Glass
We use 'priv' for private data but often use 'platdata' for platform data. We can't really use 'pdata' since that is ambiguous (it could mean private or platform data). Rename some of the latter variables to end with 'plat' for consistency. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename auto_alloc_size members to be shorterSimon Glass
This construct is quite long-winded. In earlier days it made some sense since auto-allocation was a strange concept. But with driver model now used pretty universally, we can shorten this to 'auto'. This reduces verbosity and makes it easier to read. Coincidentally it also ensures that every declaration is on one line, thus making dtoc's job easier. Signed-off-by: Simon Glass <[email protected]>
2020-08-04Merge tag 'u-boot-imx-20200804' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx For 2020.10 ----------- - fixes for Toradex board - fix warnings from previous PR - HAB: reset instead of panic after failure - new board: MYiR Tech MYS-6ULX - mx6cuboxi: use OF_PLATDATA - further changes for DM Travis: https://travis-ci.org/github/sbabic/u-boot-imx/builds/714513163
2020-08-03video: ipuv3: fix framebuffer base address init with multiple IPUsAnatolij Gustschin
Since commit 7812bbdc3732 ("video: Correctly handle multiple framebuffers") the vidconsole output is missing on the primary display on boards with two IPU units (all i.MX6Q/D based boards). The base address of the allocated framebuffer is not correctly programmed in the display controller. Fix it. Reported-by: Soeren Moch <[email protected]> Signed-off-by: Anatolij Gustschin <[email protected]> Tested-by: Soeren Moch <[email protected]>
2020-08-02drivers: rename more drivers to match compatible stringWalter Lozano
Continuing with the approach in commit <addf358bac1d2bd0> rename additional drivers to allow the OF_PLATDATA support. Signed-off-by: Walter Lozano <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-06-18video: ipuv3: remove non-DM codeAnatolij Gustschin
All ipuv3 users have been converted, drop obsolete code. Signed-off-by: Anatolij Gustschin <[email protected]>
2020-06-18video: ipuv3: remove some useless code to reduce binary sizeAnatolij Gustschin
To enable DM_VIDEO we must decrease binary size to fix build breakage for some boards, so drop not needed code. Also add !DM_VIDEO guards which can be later removed when last non DM users will be converted. Signed-off-by: Anatolij Gustschin <[email protected]>
2020-06-18video: ipuv3: fix building with disabled panel driverAnatolij Gustschin
Panel code might be disabled for some boards, make this driver code optional. Signed-off-by: Anatolij Gustschin <[email protected]>
2020-05-18common: Drop linux/delay.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop log.h from common headerSimon Glass
Move this header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop part.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop net.h from common headerSimon Glass
Move this header out of the common header. Network support is used in quite a few places but it still does not warrant blanket inclusion. Note that this net.h header itself has quite a lot in it. It could be split into the driver-mode support, functions, structures, checksumming, etc. Signed-off-by: Simon Glass <[email protected]>
2019-07-30mxc_ipuv3_fb.c: enable a backlight on a panelHeiko Schocher
check if we get a panel device, if so, enable the backlight on it. Signed-off-by: Heiko Schocher <[email protected]>
2019-07-30mxc_ipuv3_fb.c: call display_enableHeiko Schocher
call display_enable, so a display gets enabled. Signed-off-by: Heiko Schocher <[email protected]>
2019-07-30mxc_ipuv3_fb.c: set gd->fb_baseHeiko Schocher
set gd->fb_base so it can be shown with bdinfo command. Signed-off-by: Heiko Schocher <[email protected]>
2019-05-20video: ipuv3: Set max display bpp to 32Marek Vasut
The IPUv3 can handle 1920x1080x32bpp displays , set the max preallocated framebuffer BPP to 32 to cater for all eventualities. Signed-off-by: Marek Vasut <[email protected]> Cc: Anatolij Gustschin <[email protected]>
2019-05-20dm: arm: imx: video: add compatible for imx53-ipuSteffen Dirkwinkel
This code also works with imx53 ipus so we can enable it for them. Signed-off-by: Steffen Dirkwinkel <[email protected]>
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]>