Commit Graph

516 Commits

Author SHA1 Message Date
Phi Bang Nguyen
d69bea3c5e drivers: display: dcnano_elcdif: Fix RGB565/BGR565 format mismatch
Format is incorrectly forced from RGB565 to BGR565. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Phi Bang Nguyen
d9513095d9 drivers: display: elcdif: Fix RGB565/BGR565 format mismatch
Format is incorrectly forced from RGB565 to BGR565. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-07-28 16:45:33 -04:00
Pavlo Hamov
684ff2b3c8 drivers: display: stm32_ltdc: mask irq if necessary
LTDC interrupt routine is used to reload frame buffer pointer
once full frame is finished flushing. As long as there is no
need to change buffer - there is no need to disturb CPU.
Thus: Enable LTDC interrupt only when new buffer is pending

Signed-off-by: Pavlo Hamov <pasha.gamov@gmail.com>
2025-07-28 08:55:06 -04:00
Alberto Escolar Piedras
848e5c53b9 drivers/display sdl: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alain Volmat
772fbfe9cc display: stm32: ltdc: fix RGB565/BGR565 format to match sample expectations
The LTDC RGB565 format corresponds to the PIXEL_FORMAT_BGR565 format.
Update the LTDC driver to advertise PIXEL_FORMAT_BGR565 as the supported
format instead of PIXEL_FORMAT_RGB565. This change ensures correct color
rendering in the sample display application and enables usage of the
video capture sample application.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-07-04 13:07:55 -05:00
Kate Wang
5b06b1871b drivers: display: display_rm67162: update method to transfer frame data
display_rm67162 uses mipi_dsi API(s) to update transfer frame data, some
low level IP can while some cannot handle non-contiguous buffer(the frame
pitch is larger than frame width). In this case, pass the frame descriptor
as the user data in the message to the low level driver and let it
handle how many data to send. The display_rm67162 driver only need to
set the address correctly for each transfer according to the pitch/width.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-06-27 08:49:44 -10:00
Benjamin Cabé
350a5ef394 drivers: display: ssd1322: fix out-of-bound access
Fix memory corruption issue where buffer pointer was not being advanced
properly due to missing dereference.

Fixes Coverity issue CID 434607
Fixes zephyrproject-rtos/zephyr#81957

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-24 20:14:31 -10:00
Eve Redero
0397a65e82 doc: drivers: display: remove unsupported ref
Comments and documentation mention compatibility with several
Sharp LS0xxx references, such as LS012B7DD06, a 64-color 6-bit
parallel display, and LS013B7DH06 a 8-color serial display.
The ls0xx driver supports serial and monochrome only.

Signed-off-by: Eve Redero <eve.redero@gmail.com>
2025-06-23 16:29:59 -05:00
Benjamin Cabé
2a43a94455 drivers: display: hx8394: add missing static qualifiers to local arrays
Updated multiple configuration arrays from 'const' to 'static const'

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-23 13:42:48 +02:00
Camille BAUD
3787be931e drivers: display: Introduce SSD1363
This introduces a driver for the SSD1363 PMOLED controller

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-06-20 14:41:31 -05:00
Alain Volmat
b1e55bd342 display: stm32: ltdc: add SMH buffer alignment config option
Add the CONFIG_STM32_LTDC_FB_SMH_ALIGN option in order to
indicate the alignment required for the buffer allocated via
SMH.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-06-19 13:57:51 +02:00
Benjamin Cabé
0f60efe217 drivers: display: stm32: add missing break statement
Add missing break statement causing incorrect fallthrough for ARGB_8888

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-17 16:12:26 +02:00
sudarsan N
139cdfc243 drivers: uc81xx: fix unchecked return from mipi_dbi_reset()
Check return value to handle potential failure.

Fixes: CID 524752

Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
2025-06-17 16:09:27 +02:00
Oleh Kravchenko
8708964049 drivers: display: ssd1306: fix reset
The recommended reset sequence from the datasheet is as follows:

  void SSD1309 ()
  {
  	RES=0;
  	delay(1000);
  	RES=1;
  	delay(1000);
  	..

Signed-off-by: Oleh Kravchenko <oleg@kaa.org.ua>
2025-05-28 01:47:24 +02:00
Camille BAUD
94f78a035b drivers: display: Fix Black White Red SSD16xx displays
This fixes SSD16xx tricolor displays being all red when using this driver.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-25 21:55:17 +02:00
Yishai Jaffe
fc56305c2f drivers: display: st7567: add display_clear support
Add support for `display_clear` API to the st7567 display.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-05-23 09:37:58 +02:00
Yishai Jaffe
bdb69c4afd drivers: display: ls0xx: add display_clear support
Add support for `display_clear` API to the Sharp display.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-05-23 09:37:48 +02:00
Alberto Escolar Piedras
08ff55af07 drivers/display/display_stm32_ltdc: Fix code compliance issues
Fix 2 issues detected by checkpatch

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-05-21 12:35:28 +02:00
Abderrahmane JARMOUNI
6be42eb2d3 drivers: display: sdl: add windows custom naming
Add the possibility to set a custom name for SDL window
in native simulator

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-05-19 16:36:12 +02:00
Camille BAUD
23d1a8fd2d drivers: display: Re-introduce SSD1327
This makes SSD1327 use the new L8 display format.
It also fixes all displays that didnt support the undocumented
monochrome mode.
It also adds i2c and revamps the entire driver.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-19 16:35:50 +02:00
Camille BAUD
90f57f8b7d drivers: display: Introduce SSD1351
This introduces ssd1351 128x128 RGB PMOLED controller

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-12 21:09:36 +02:00
Camille BAUD
4b3fc3159d drivers: display: Introduce SSD1331
Introduces driver for SSD1331 RGB OLED controller

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-12 19:19:15 +02:00
Martin Stumpf
2c1cef9659 display_sdl: Fix incorrect blend mode during display_read
The blend mode was set in a way that multiplied pixels with the alpha
value during read, which caused tests to fail.

Signed-off-by: Martin Stumpf <finomnis@gmail.com>
2025-05-12 09:48:07 +02:00
Chen Xingyu
95996c7bbe drivers: display: Select LED_STRIP when LED_STRIP_MATRIX is enabled
The LED_STRIP driver is not enabled by default on all boards. As a result,
building the LED_STRIP_MATRIX display driver fails if LED_STRIP is not
manually enabled.

To address this, this commit changes the dependency from `depends on` to
`select`, ensuring that the required driver is automatically enabled and
build failures are avoided.

Signed-off-by: Chen Xingyu <hi@xingrz.me>
2025-05-09 15:42:50 +02:00
Alain Volmat
5e2950d496 display: stm32: ltdc: handle backlight on blanking
The display_blanking_on description states that if available,
backlight should also be disabled / enabled on driver blanking on / off.
Moreover, upon driver initialization, the display blanking (hence
backlight state as well) should be same as if display_blanking_on
had been called.

If nothing can be done by the LTDC driver (no backlight and no
panel blanking) then -ENOSYS is returned.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-05-07 08:17:52 +01:00
Andrzej Głąbek
fee8eddc5b drivers: display_st7567: Fix unintialized variable warning
Theoretically (if either `height` or `width` in `config` is set to 0),
the `ret` variable might be returned from `st7567_clear()` without
being initialized.
Add initialization of this variable to avoid compiler warnings.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-05-06 20:36:37 +02:00
Ibrahim Abdalkader
3a0bacedbe drivers: display: stm32_ltdc: Add SMH attribute for LTDC buffer.
The LTDC driver was using the video buffer SMH attribute.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-05-06 16:36:06 +02:00
Phi Bang Nguyen
7dfd0d017f drivers: display: elcdif: Fix a typo breaking i.MX RT1170
The backlight_gpios property has a "s" at the end. This typo has broke
the display on i.MX RT1170. Fix it.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-05-03 17:48:08 +02:00
Camille BAUD
e5819f7a6c drivers: display: Introduce SH1122
Introduces Sinowealth SH1122 Greyscale 256x64 OLED controller

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-02 16:09:08 +01:00
Camille BAUD
73dae9e910 drivers: display: Introduce SSD1320
Introduce a driver for SSD1320 displays

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-05-02 10:37:56 +02:00
Alain Volmat
9c9f526443 display: stm32_ltdc: update macro to avoid usage of legacy API
Replace the usage of __HAL_LTDC_RELOAD_CONFIG which is a legacy
API with __HAL_LTDC_RELOAD_IMMEDIATE_CONFIG

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-04-30 23:03:17 +02:00
Camille BAUD
772b9afc97 drivers: display: Introduce ST75256
Introduces a driver for ST75256 Display Controller that
supports mono and greyscale but not i2c mode.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-04-30 07:51:57 +02:00
Fabian Blatz
8009614c16 drivers: display: sdl: Ensure task thread is run once on init
Adds taking of the task semaphore after creating the display thread
to ensure that the thread is run once, executing the SDL init.
Adjust the threads priority to match the main thread.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-04-25 19:00:28 +02:00
Kate Wang
058a162baf drivers: display: Update nxp,dcnano-lcdif to support IP change on RT700
Update nxp,dcnano-lcdif to support IP change on RT700. There are extra
registers need to be configured for the lcdif on RT700. Add new binding
item "version" to tell which version of the IP the SoC has.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-04-23 10:03:42 +02:00
Kate Wang
ed63240804 drivers: display: Fix typo in kconfig comment of nxp,dcnano-lcdif.
Should be DISPLAY_MCUX_DCNANO_LCDIF instead of DISPLAY_MCUX_ELCDIF.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2025-04-23 10:03:42 +02:00
Hugues Fruchet
83b33d1e87 drivers: display: stm32_ltdc: configure RIF for LTDC layer 1
Configure RIF for LTDC layer 1.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2025-04-22 09:59:34 +02:00
Hugues Fruchet
873bba0a1b drivers: display: stm32_ltdc: add support of clock_configure
Add support of clock_configure() for clock source selection
through devicetree.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2025-04-22 09:59:34 +02:00
Hugues Fruchet
0da7671977 drivers: display: stm32_ltdc: add support of framebuffer in psram
Add support of framebuffer in PSRAM memory.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2025-04-22 09:59:34 +02:00
Isaev Denis
d34ed32846 drivers: display: elcdif: remove backlight enable pin dependency
The driver no longer requires a backlight enable GPIO pin to be defined,
which allows compatibility with displays that do not provide such a pin.

Signed-off-by: Isaev Denis <anelderlyfox@yahoo.com>
2025-04-21 20:03:50 +02:00
Isaac Yuki
94655d2a13 drivers: display_mcux_elcdif: enable RGB_888 pixel format
Add missing define in order to enable RGB_888 pixel format support
on the mcux_elcdif driver. Tested with TM070JVHG33 display

Signed-off-by: Isaac Yuki <isaaclucas.delimayuki@tq-group.com>
2025-04-10 15:51:27 +02:00
Yishai Jaffe
b65f0b0fbc drivers: display: sdl: support non-vtiled mono mode
Added support for writing in non-vtiled mono mode to SDL display
emulator driver.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-04-08 17:37:14 +02:00
Fabian Blatz
11b9eba340 drivers: display: sdl: Ensure draw is performed from init thread
Add a thread to the SDL display driver to ensure that init and renderer
calls are performed from the same thread.

Fixes #71410.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-04-08 11:45:01 +02:00
Ibrahim Abdalkader
41a10e41b0 drivers: display: Add Sitronix ST7701 driver.
Display driver for Sitronix ST7701.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2025-03-28 21:50:58 +01:00
Fabian Blatz
fdf9a6172b drivers: display: sdl: Store dev inside of window user_data
Adds storing of the zephyr display device struct inside of the windows
user_data, so it can be used inside of the SDL touch driver context for
checking the origin window of a received event.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-03-25 22:14:40 +01:00
Abderrahmane JARMOUNI
4aaf463158 drivers: display: sdl: clear display only for supported pixel formats
Clear display only when display pixel format is actually supported
since buffer size depends on it.

Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
2025-03-21 14:17:36 +01:00
Danh Doan
0eef4fe150 drivers: display: extend support for renesas,ra-glcdc driver
Change pinctrl-0 dts prop as optional in case DSI display is used
Add these APIs support: set_brightness, set_contrast, get_framebuffer
Add a new config to select frame buffer section

Signed-off-by: Danh Doan <danh.doan.ue@bp.renesas.com>
2025-03-21 14:17:21 +01:00
Fabian Blatz
1ba9e4d707 drivers: display: sdl: Add support for L8 pixel format
Adds support for the 8bit grayscale pixel format to the SDL
display driver.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-03-19 10:58:06 +01:00
James Roy
ab4023c4ea drivers: display: Add SDL implementation example
Implement the '.clear' interface in the SDL driver
to allow the upper layers to use the display_clear
function.

Signed-off-by: James Roy <rruuaanng@outlook.com>
2025-03-14 14:39:40 +01:00
The Nguyen
539d0f6f61 driver: display: use LP mode for ilitek,ili9806e-dsi
Update driver code to use LPM

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-03-13 10:49:13 +01:00
Camille BAUD
3334a8e9cd drivers: display: Introduce Sitronix ST7567
Introduces a driver for the Sitronix ST7567 132x65 LCD driver.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-03-10 11:10:48 +01:00