summaryrefslogtreecommitdiffstats
path: root/drivers/video
Commit message (Collapse)AuthorAgeFilesLines
* video: mark EFI_GOP driver x86-only for nowAhmad Fatoum2024-03-051-0/+1
| | | | | | | | | The driver currently crashes when running barebox on ARM64 Virt under Tianocore. Until that's resolved, mark it x86-only. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240304190038.3486881-81-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* efi: payload: rename CONFIG_EFI_BOOTUP to CONFIG_EFI_PAYLOADAhmad Fatoum2024-03-051-1/+1
| | | | | | | | | | The symbol is internal, so we don't break anything by renaming it. CONFIG_EFI_PAYLOAD is clearer in intent, as BOOTUP doesn't clearly indificate whether barebox would act as EFI payload or as EFI loader. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20240304190038.3486881-9-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: edid: print debug message on EDID read out errorAhmad Fatoum2023-10-041-2/+9
| | | | | | | | | | | EDID readout errors happen often, e.g. because the HDMI port doesn't have a display connected. However, when a monitor is connected, but some other error occurs, barebox is silent. Add a debug message with an error code for this. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230928122133.2587197-1-o.rempel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: Print device nodes with %pOFSascha Hauer2023-07-034-28/+25
| | | | | | | We have the %pOF format specifier for printing device nodes. Use it where appropriate. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* gpio: have gpiod_ functions return and accept pointersAhmad Fatoum2023-06-233-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | The gpiod_ (GPIO descriptor) API used with Linux differs from barebox' normal GPIO API: - gpiod handles are opaque pointers and not an integer, which users have an expectation of stability for - gpiod API uses logic levels by default with separate raw API for physical level instead of physical level by default and separate API taking active level into account. The barebox gpiod_ API mimics the latter point, but still uses integers requiring ugly and arguably error prone conversions when porting kernel code. Let's improve upon that by just encoding the integer into a pointer variable for API compatibility. Later commits will switch barebox GPIO support to use actual GPIO descriptors without consulting the numeric indices, but we do this temporary switch here, so we can split up provider and consumer changes. Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230622072329.1339317-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc-fixes-sandbox'Sascha Hauer2023-06-222-4/+7
|\
| * video: simplefb-fixup: warn on framebuffers >= 4GAhmad Fatoum2023-06-131-3/+7
| | | | | | | | | | | | | | | | | | | | Building simplefb-fixup for 64-bit has the compiler inform us that the code doesn't handle 64-bit addresses as it should. Silence the warnings and have the code return -ENOSYS if this happens. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612130239.1087599-17-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: bochs: remove dependency on PCI header in common partAhmad Fatoum2023-06-131-1/+0
| | | | | | | | | | | | | | | | | | bochs_hw is the common code that's called into from both PCI and ISA Bochs drivers. It has no need to include the PCI header, so drop it. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612130239.1087599-7-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2023-06-221-1/+1
|\ \ | |/ |/|
| * video: panel-ilitek-ili9341: drop #define DEBUGAhmad Fatoum2023-06-141-1/+1
| | | | | | | | | | | | | | | | | | This is a left-over from development and shouldn't be necessary for regular builds. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230614090338.4192368-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | treewide: add MODULE_DEVICE_TABLE markersAhmad Fatoum2023-06-1313-0/+13
|/ | | | | | | | | | | | | | | | Syncing device trees with Linux upstream can lead to breakage, when the device trees are switched to newer bindings, which are not yet supported in barebox. To make it easier to spot such issues, we want to start applying some heuristics to flag possibly problematic DT changes. One step towards being able to do that is to know what nodes barebox actually consumes. Most of the nodes have a compatible entry, which is matched by an array of of_device_id, so let's have MODULE_DEVICE_TABLE point at it for future extraction. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230612125908.1087340-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: bochs: fix IOMEM usageDenis Orlov2023-05-123-4/+4
| | | | | | | | | | | | | | | | | For the PCI version of the driver, we end up calling IOMEM() twice on both the fb_map and mmio pointers. This happens because we first use pci_iomap() on PCI resources in the bochs_pci_probe() and then explicitly call IOMEM() in the bochs_hw_probe(). However, judging from the parameters of the latter function having __iomem attributes, we should not be remapping them. So, remove those IOMEM calls and instead do explicit remapping in bochs_isa_detect(), which was missing it. Also fix bochs_hw_probe() declaration missing one __iomem. Signed-off-by: Denis Orlov <denorl2009@gmail.com> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230511124743.2878952-1-denorl2009@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2023-04-197-16/+753
|\
| * video: fbconsole: implement non-fullscreen fbconsolePhilipp Zabel2023-04-171-14/+101
| | | | | | | | | | | | | | | | | | Let fbconsole cover only part of the screen. Configurable via margin.{left,top,right,bottom} device parameters. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.barebox.org/20230405130645.2407719-1-p.zabel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: mipi_dbi: add damage tracking and partial updatesPhilipp Zabel2023-04-112-15/+69
| | | | | | | | | | | | | | | | | | Track framebuffer damage with a simple rectangle that can be used to issue partial updates during fb_flush. This speeds up fbconsole. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.barebox.org/20230405122734.2348025-3-p.zabel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: fb: add optional damage trackingPhilipp Zabel2023-04-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | Add an optional fb_damage operation that drivers may use to accumulate damage on the framebuffer until fb_flush is called. The accumulated damage can be used to support partial updates for displays with an integrated framebuffer. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.barebox.org/20230405122734.2348025-1-p.zabel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: mipi_dbi: disable byte swapping if 16-bit SPI transfers are supportedPhilipp Zabel2023-04-111-2/+1
| | | | | | | | | | | | | | | | | | | | If the SPI controller supports switching to 16-bit transfers, there is no need to swap bytes on little-endian architectures. This also allows to transfer directly from the 16-bit framebuffer. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.barebox.org/20230403115340.3416720-3-p.zabel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: Add MIPI DBI compatible SPI driverPhilipp Zabel2023-04-053-0/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port the panel-mipi-dbi driver from the Linux kernel. It works with most MIPI DBI compatible SPI panels. This avoids adding a driver for every new MIPI DBI compatible controller that is to be used by Barebox. The 'compatible' Device Tree property with a '.bin' suffix will be used to load a firmware file that contains the controller configuration. Example (driver will load sainsmart18.bin): display@0 { compatible = "sainsmart18", "panel-mipi-dbi-spi"; ... }; Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230330124643.3562397-4-p.zabel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: add MIPI DBI framebuffer helpersPhilipp Zabel2023-04-051-0/+226
| | | | | | | | | | | | | | | | | | Port helper functions for the panel-mipi-dbi driver from the Linux kernel. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.barebox.org/20230330124643.3562397-3-p.zabel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * video: Add of_get_display_timingPhilipp Zabel2023-04-051-0/+22
| | | | | | | | | | | | | | | | | | | | | | Add a port of the kernel of_get_display_timing() that writes a struct fb_videomode instead of struct display_timing, which we don't have. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230330124643.3562397-2-p.zabel@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | treewide: fix includes missed by multiarch supportAhmad Fatoum2023-04-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | Found by manual inspection of the results of: rg '#include\s*<mach/[^/]+>' | rg -v 'arch/(powerpc|sandbox|mips|x86|kvx)' Fixes: 68b778c24314 ("ARM: Drop mach dir include path") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230411071436.1630752-13-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | video: qemu-ramfb: reduce -ENODEV lo level to debugAhmad Fatoum2023-04-111-1/+1
|/ | | | | | | | | | | | It's perfectly normal for fw_cfg to be available, but ramfb not being configured. Driver core handles -ENODEV silently to accommodate this case. The initcall calling ramfb_probe does too, but ramfb_probe itself prints an error. Replace that with a debug print. Fixes: 1db52e5a1039 ("video: add support for QEMU ramfb") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230411071436.1630752-5-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: at91: Move mach header files to include/mach/at91Sascha Hauer2023-03-063-5/+5
| | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all at91 specific header files to include/mach/at91/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: mxs: Move mach header files to include/mach/mxsSascha Hauer2023-03-061-1/+1
| | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all mxs specific header files to include/mach/mxs/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: pxa: Move mach header files to include/mach/pxaSascha Hauer2023-03-061-4/+4
| | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all pxa specific header files to include/mach/pxa/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: bcm283x: Move mach header files to include/mach/bcm283xSascha Hauer2023-03-061-1/+1
| | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all bcm283x specific header files to include/mach/bcm283x/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: i.MX: Move mach header files to include/mach/imxSascha Hauer2023-03-063-8/+8
| | | | | | | | | | | Currently arch specific headers can be included with #include <mach/xxx.h>. With upcoming multi-arch support this is no longer possible as there won't be a single mach anymore. Move all i.MX specific header files to include/mach/imx/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: i.MX: Move imxfb.h to include/platform_data/Sascha Hauer2023-03-012-2/+2
| | | | | | | | mach/imxfb.h only contains the platform_data for the framebuffer driver. This is better suited in include/platform_data/, so move it there. Link: https://lore.barebox.org/20230228143031.1718565-5-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: remove s3c driverSascha Hauer2023-03-013-425/+0
| | | | | | | | | The Samsung architecture has been removed, remove the framebuffer driver only used on this architecture as well. Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20230228135727.1602351-6-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: add support for QEMU ramfbAdrian Negreanu2023-01-313-0/+198
| | | | | | | | | | | | | | | | | | | | | QEMU's ramfb is a very simple Qemu fw_cfg protocol, where the guest need only write a video settings structure to /etc/ramfb to get DMA from the framebuffer working. We don't yet have FS support for fw_cfg, so we use the character device interface. As barebox display mode handling only supports selecting predefined modes and has no accommodation yet for arbitrary resolution support like on QEMU, for now we just provide a fixed 640x480@XRGB8888 mode. Tested with: qemu-system-aarch64 -M virt -vga none -device ramfb \ -kernel images/barebox-dt-2nd.img -cpu cortex-a57 -serial mon:stdio Signed-off-by: Adrian Negreanu <adrian.negreanu@nxp.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230130072707.2423294-5-ahmad@a3f.at Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc-struct-rename'Sascha Hauer2023-01-201-2/+2
|\
| * dev: add dev_bus_is_spi/i2c helpersAhmad Fatoum2023-01-121-2/+2
| | | | | | | | | | | | | | | | | | These will simplify writing drivers that can probe via either I2C or SPI like the SSD1307FB and upcoming KSZ I2C switch support. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230111132956.1153359-9-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2023-01-201-0/+1
|\ \ | |/ |/|
| * video: vpl: don't print only skipped vpl endpointsAhmad Fatoum2023-01-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The remote_vpl->ioctl is within a loop and every time an iteration is skipped, a debug line is printed, but no debug line is printed when the loop actually finds a remote_vpl to call its ioctl callback. Make this debugging code more useful by adding a debug print in the latter case. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20221222115759.855209-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Rename struct driver_d to driverSascha Hauer2023-01-1024-25/+25
| | | | | | | | | | | | | | | | | | | | | | The '_d' suffix was originally meant to distinguish barebox struct names from Linux struct names. struct driver doesn't exist in Linux, so we can rename it and remove the meaningless suffix. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20221214123512.189688-4-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Rename struct device_d to deviceSascha Hauer2023-01-1038-88/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | The '_d' suffix was originally introduced in case we want to import Linux struct device as a separate struct into barebox. Over time it became clear that this won't happen, instead barebox struct device_d is basically the same as Linux struct device. Rename the struct name accordingly to make porting Linux code easier. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20221214123512.189688-3-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Rename device_d::device_node to device_d::of_nodeSascha Hauer2023-01-1015-35/+37
|/ | | | | | | | | | | | | | | | | | | | Linux struct device has the member of_node for the device_node pointer. Rename this in barebox accordingly to minimize the necessary changes when porting Linux code. This was done with the semantic patch: @@ struct device_d E; @@ - E.device_node + E.of_node @@ struct device_d *E; @@ - E->device_node + E->of_node Plus some manual adjustments. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20221214123512.189688-2-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2022-08-111-1/+1
|\
| * video: stm32: stm32_ltdc: fix data enable polarityYannick FERTRE2022-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | Wrong DISPLAY_FLAGS used to set the data enable polarity. Signed-off-by: Yannick FERTRE <yannick.fertre@foss.st.com> Origin: https://st-md-mailman.stormreply.com/pipermail/uboot-stm32/2022-April/005122.html [afa: cherry-picked from U-Boot driver] Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Link: https://lore.barebox.org/20220708055250.1175444-1-ahmad@a3f.at Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | video: imxfb: Fix call of memalign()Uwe Kleine-König2022-06-291-1/+1
|/ | | | | | | | | The first argument is the alignment not the allocation size ... Fixes: 36152c5aa546 ("video: imx: assert that image buffer doesn't cross a 4 MiB boundary") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.barebox.org/20220627095855.32842-1-u.kleine-koenig@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2022-06-293-3/+0
|\
| * treewide: Remove duplicate incudesAlexander Shiyan2022-06-103-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warning fwterated by checkincludes.pl: ./net/nfs.c: libgen.h is included more than once. ./net/ifup.c: globalvar.h is included more than once. ./crypto/rsa.c: asm/types.h is included more than once. ./lib/decompress_unlz4.c: linux/decompress/mm.h is included more than once. ./scripts/stb_image.h: stdio.h is included more than once. ./scripts/kwbimage.c: unistd.h is included more than once. ./scripts/common.c: sys/types.h is included more than once. ./scripts/bareboximd.c: sys/types.h is included more than once. ./scripts/bareboximd.c: sys/mman.h is included more than once. ./fs/pstore/ram_core.c: linux/rslib.h is included more than once. ./fs/pstore/fs.c: fs.h is included more than once. ./fs/pstore/fs.c: linux/pstore.h is included more than once. ./fs/nfs.c: fs.h is included more than once. ./fs/uimagefs.c: fs.h is included more than once. ./fs/fs.c: command.h is included more than once. ./arch/sandbox/board/hostfile.c: linux/err.h is included more than once. ./arch/sandbox/board/devices.c: mach/linux.h is included more than once. ./arch/sandbox/os/common.c: signal.h is included more than once. ./arch/arm/boards/zii-imx51-rdu1/board.c: envfs.h is included more than once. ./arch/arm/boards/imx233-olinuxino/imx23-olinuxino.c: generated/mach-types.h is ./arch/arm/mach-stm32mp/ddrctrl.c: mach/stm32.h is included more than once. ./arch/arm/mach-imx/cpu_init.c: common.h is included more than once. ./arch/arm/mach-imx/imx8m.c: mach/imx8m-ccm-regs.h is included more than once. ./common/efi/payload/init.c: efi.h is included more than once. ./common/state/backend_format_raw.c: common.h is included more than once. ./common/state/backend_format_raw.c: crc.h is included more than once. ./common/hush.c: libbb.h is included more than once. ./drivers/spi/atmel-quadspi.c: linux/clk.h is included more than once. ./drivers/spi/atmel-quadspi.c: linux/err.h is included more than once. ./drivers/net/virtio.c: net.h is included more than once. ./drivers/net/phy/phy.c: linux/phy.h is included more than once. ./drivers/net/cpsw.c: net.h is included more than once. ./drivers/virtio/virtio_pci_common.h: linux/list.h is included more than once. ./drivers/usb/host/ohci-hcd.c: dma.h is included more than once. ./drivers/usb/gadget/fsl_udc.c: dma.h is included more than once. ./drivers/nvmem/eeprom_93xx46.c: spi/spi.h is included more than once. ./drivers/nvmem/eeprom_93xx46.c: of.h is included more than once. ./drivers/video/imx-ipu-v3/imx-ldb.c: linux/clk.h is included more than once. ./drivers/video/imx-ipu-v3/imx-hdmi.c: linux/clk.h is included more than once. ./drivers/video/omap.c: common.h is included more than once. ./drivers/mtd/nand/nand_s3c24xx.c: asm/sections.h is included more than once. ./drivers/clk/imx/clk-imx6sx.c: linux/clk.h is included more than once. ./drivers/clk/imx/clk-imx6sl.c: linux/clk.h is included more than once. ./commands/bootm.c: of.h is included more than once. Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com> Link: https://lore.barebox.org/20220607051957.2497-1-eagle.alexander923@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | video: efi_gop: add $global.bootm.earlycon fixup for framebuffer consoleAhmad Fatoum2022-06-091-3/+15
|/ | | | | | Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220523092526.791716-8-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2022-05-192-3/+2
|\
| * video: omap-fb: Rework to enable COMPILE_TEST optionAlexander Shiyan2022-04-252-3/+2
| | | | | | | | | | | | | | | | | | | | | | To add a compilation check for the omap-fb driver, move the omap-fb.h header to a global location. The "omap_add_display" function is used only for legacy boards, so we will move it to a common place for such calls (omap_devices.c). Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com> Link: https://lore.barebox.org/20220422071158.14631-1-eagle.alexander923@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | video: ipuv3: combine two subsequent info prints into oneAhmad Fatoum2022-04-121-4/+2
|/ | | | | | | | Makes the logging more tidy that way. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220408131709.663461-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: add Ilitek ILI9341 panel supportAhmad Fatoum2022-02-083-0/+553
| | | | | | | | | Port the Linux v5.15 DRM panel driver to barebox. This has been tested against a STM32F4 LTDC. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220202223023.341817-5-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: add MIPI DBI Type C Option 3 supportAhmad Fatoum2022-02-083-0/+471
| | | | | | | | | Import the Linux v5.15 state of the driver to allow easy porting of MIPI-DBI displays like the Ilitek 9431 added in a follow-up commit. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220202223023.341817-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: add driver for STM32 LCD-TFT Display ControllerAhmad Fatoum2022-02-074-0/+475
| | | | | | | | | | | | | This driver has been tested on a STM32F429 connected to an Ilitek 9341 Display for which support is added in a follow-up commit. The same driver can be used (but wasn't tested) for the STM32MP1 as well. The official ST evaluation kits all use MIPI-DSI for which we still lack support. The LXA MC-1 has a parallel display connected to the LTDC, but I didn't have one readily available to test. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220202223023.341817-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* video: ssd1307fb: add spi supportMichael Tretter2022-01-032-7/+57
| | | | | | | | | | | | | The Solomon display drivers also support SPI in addition to the I2C. Add SPI support to the driver that already supports I2C by implementing the bus write function for SPI and registering an SPI driver. While the driver needs I2C or SPI, either subsystem is optional as long as one is enabled. Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Link: https://lore.barebox.org/20211223160404.119970-9-m.tretter@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>