-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Add st_b_lcd40_dsi1_mb1166 display shield support for stm32f769i_disco board #74646
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
Conversation
b343eaf to
8ba69eb
Compare
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.
If there are multiple ST boards that support the ST_B_LCD40_DSI1_MB1166 shield, then you might consider defining node labels for connectors (IE for the LTDC, MIPI DSI, and I2C connections). This has been done for some NXP supplied displays, see here:
. This avoids code duplication (for example, the display panel timings look the same as the ones here:Line 1 in 59632d5
| /* |
It seems this is already being done for the GPIO nexus node, so expanding this to the peripherals might be useful
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.
Touch and display controller are part of shield overlay. If I'm not wrong not all the STM chipset has LTDC, so the panel display timings in ltdc node shall be in board overlay.
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.
Sure, not all the STM SOCs will have an LTDC- this is the case with NXP's SOCs as well. In the case of NXP's displays, we sell multiple display modules that connect via a 40 pin FPC present on several of our evaluation kits to the module itself. The benefit here is that if we designed a new SOC with a DSI interface and added the same 40 pin connector, we could enable support for these displays by simply adding node definitions at the board level.
Beyond this, if a customer wanted to use this shield with their custom board, they would not need to modify Zephyr itself to add a new overlay (or duplicate the overlay definition for their board out of tree).
This is a core idea of a shield- not every evaluation kit supported by Zephyr has a SPI interface broken out to arduino headers, but those that do can use a large subset of all Zephyr shields without board specific configuration. Of course the scope of this shield would be more narrow (perhaps 2-3 boards), but I think the benefits to this approach still apply.
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.
@ssekar15 see https://github.com/ajarmouni-st/zephyr_dev/tree/fix_mb1166_shield
@danieldegrasse is this more or less what you meant?
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.
Sorry for the delayed response- yeah, this looks right to me. Essentially just refactor the shields to avoid duplicating things in board-specific shield overlays
6ac49fc to
36d4ccf
Compare
boards/shields/st_b_lcd40_dsi1_mb1166/boards/stm32f769i_disco.conf
Outdated
Show resolved
Hide resolved
boards/shields/st_b_lcd40_dsi1_mb1166/boards/stm32h747i_disco_stm32h747xx_m7.overlay
Outdated
Show resolved
Hide resolved
36d4ccf to
8a331da
Compare
8a331da to
6b80813
Compare
Add support for STM32F7 MIPI DSI host driver. Signed-off-by: Saravanan Sekar <[email protected]>
Add bindings for pll-r used for DSI HOST peripheral byte clock. Signed-off-by: Saravanan Sekar <[email protected]>
Add pll-r clock used for DSI HOST peripheral byte clock. Signed-off-by: Saravanan Sekar <[email protected]>
Use common pin reference for STMicroelectronics B-LCD40-DSI1 shield from board header mapping. Signed-off-by: Saravanan Sekar <[email protected]>
Capacitive touch ft6202 is not part board, remove in board dts and move to panel st_b_lcd40_dsi1_mb1166 shield. Signed-off-by: Saravanan Sekar <[email protected]>
Add support for STMicroelectronics B-LCD40-DSI1 shield to stm32f769i_disco board. Default config for lvgl is adjusted to lower value to fix compilation issue on low memory footprint like stm32f769i_disco. region `IDT_LIST' overflowed by 121081 bytes bss ' will not fit in region `RAM' ld.bfd: region `RAM' overflowed by 1220664 bytes collect2: error: ld returned 1 exit status Signed-off-by: Saravanan Sekar <[email protected]>
Add disp_f769_disco board to platform-allow list for display sample tests with st_b_lcd40_dsi1_mb1166 shield. Signed-off-by: Saravanan Sekar <[email protected]>
Add disp_f769_disco board to platform-allow list for display sample tests with st_b_lcd40_dsi1_mb1166 shield. Signed-off-by: Saravanan Sekar <[email protected]>
Add disp_f769_disco board to platform-allow list for display sample tests with st_b_lcd40_dsi1_mb1166 shield. Signed-off-by: Saravanan Sekar <[email protected]>
471d921 to
8f03a5e
Compare
done, please review. |
@ssekar15 Was this resolved? |
| status = "okay"; | ||
| }; | ||
|
|
||
| qsh_030_i2c: &i2c4 { |
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.
Already exists below, was added in 330abc4
| }; | ||
| }; | ||
|
|
||
| qsh_030_i2c: &i2c4 { |
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.
Perhaps add this comment
/* alias used by display shields with touch control */
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.
Commit message is no longer accurate, touch controller node was already moved to shield overlay in a previous PR.
| @@ -0,0 +1,5 @@ | |||
| # Copyright (c) 2024 Linumiz | |||
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: 2025
| - CONFIG_SDL_DISPLAY=n | ||
| - CONFIG_TEST=y | ||
| tags: display | ||
| sample.display.max7219: |
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.
!??
| harness: console | ||
| harness_config: | ||
| fixture: fixture_display | ||
| sample.display.st_b_lcd40_dsi1_mb1166: |
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.
sample.display.shield below already covers this shield with otm8009a panel controller, you should add stm32f769i_disco there.
| The STM32F769I Discovery kit has a dedicated DSI LCD connector **CN1**, where | ||
| the MB1166 (B-LCD40-DSI1) display extension board can be mounted. Enable display | ||
| support in Zephyr by adding the shield ``st_b_lcd40_dsi1_mb1166`` or | ||
| ``st_b_lcd40_dsi1_mb1166_a09`` to your build command, for example: |
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.
But you only added config file for revision with otm8009a .
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
|
|
I own this board and am trying to enable support. What is the current status of this PR? Does it require further maintenance? |
We have this display shift problem, which I couldn't spare time on this. |
|
I tested this PR and found that the screen displayed color cast and abnormal display orientation and the touch was not usable. |
I'll try my best, but I'm no expert. |
|
There is another PR that implements this feature. |
Thanks. Done by #95200. Closing |



PR covers