-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Enable STM32L4R9i-disco DSI display via shield ST_B_DSI_MB1314 #86812
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add support for the GVO G1120TB101 DSI Panel. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Rely on the pixel format defined within the display node in order to configure the DSI interface pixel format. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Use the macro DISPLAY_BITS_PER_PIXEL in order to compute each format BPP and thus avoid requiring each format BPP written within the driver. Thanks to that, simply the function stm32_ltdc_set_pixel_format to avoid code duplication. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Addition of the STM32_SRC_HSE define in stm32l4_clock.h in order to be able to address the HSE clock source from the device-tree. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
stm32l4r9 series embeds a MIPI DSI controller which uses the LTDC controller as input. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
ltdc controller is also available in stm32l4r5 and stm32l4q5 so add it within stm32l4p5. It is not available in stm32l4r5 hence delete the node for this platform. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Add a zephyr_mipi_dsi alias for the mipi_dsi so that shields can refer to it to add panels on this interface. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Addition of a new shield which embeds a round DSI display gvo,g1120tb101 of 390x390 pixels, with a touchpanel. This shield enables it via usage of the LTDC and DSI of the STM32. Touchpanel isn't yet supported in this commit and will be added later on in an additional commit. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Board specific options should be moved to a board specific conf file, similar to https://github.com/zephyrproject-rtos/zephyr/tree/main/boards/shields/st_b_lcd40_dsi1_mb1166/boards
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Board specific nodes/props should be moved to a board specific overlay, similar to https://github.com/zephyrproject-rtos/zephyr/tree/main/boards/shields/st_b_lcd40_dsi1_mb1166/boards
@@ -0,0 +1,20 @@ | |||
# Copyright (c) 2025 ST Microelectronics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: STMicroelectronics (same for other files)
depends on DT_HAS_GVO_G1120TB101_ENABLED | ||
select MIPI_DSI | ||
help | ||
Enable driver for GVO G1120TB101 display driver. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enable driver for GVO G1120TB101 display driver. | |
Enable driver for GVO G1120TB101 display controller. |
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config G1120TB101 | ||
bool "G1120TB101 display driver" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bool "G1120TB101 display driver" | |
bool "G1120TB101 display controller" |
} else if (format == PIXEL_FORMAT_ARGB_8888) { | ||
ltdc_pix_fmt = LTDC_PIXEL_FORMAT_ARGB8888; | ||
} else { | ||
return -ENOTSUP; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ERR_LOG!?
@@ -0,0 +1,273 @@ | |||
/* | |||
* Copyright (c) 2025 ST Microelectronics | |||
* Inpired from display_otm8009a.c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo:
* Inpired from display_otm8009a.c | |
* Inspired from display_otm8009a.c |
#define STM32_LTDC_INIT_PIXEL_SIZE DISPLAY_BITS_PER_PIXEL(DISPLAY_INIT_PIXEL_FORMAT) /\ | ||
BITS_PER_BYTE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this might be more readable if the /
is on the second line?
This pull request includes updates, new driver and a new shield in order to enable the DSI display that can be mounted on the STM32L4R9I-DISCO board.
It enables both LTDC and DSI interfaces of the STM32L4R9 and for that purpose require the usage of the PLLSAI.
PLLSAI support isn't yet merged. There is another ongoing pull request for that purpose which can be found here:
#85135
The PLLSAI pull-request is still evolving hence this new pull-request will be rebased afterward once the PLLSAI will be merged.
Since it rely on another pull-request, it won't build (missing pllsai nodes or macros) but I am already pushing this one in order to start the review process.