Skip to content

Conversation

@ssekar15
Copy link
Contributor

PR covers

  • Add mipi ltdc display shield support for stm32f769i_disco board
  • Replace direct hal api for ltdc block reset to zephyr reset api framework

Copy link
Contributor

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:

It seems this is already being done for the GPIO nexus node, so expanding this to the peripherals might be useful

Copy link
Contributor Author

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.

Copy link
Contributor

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.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

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

@ssekar15 ssekar15 force-pushed the disp_f769_disco branch 2 times, most recently from 6ac49fc to 36d4ccf Compare June 26, 2024 08:44
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]>
@ssekar15
Copy link
Contributor Author

@ssekar15 Please rebase

done, please review.

@ssekar15 ssekar15 requested a review from danieldegrasse March 12, 2025 12:55
@JarmouniA
Copy link
Contributor

@ssekar15 Hello again from my personal account :) Has the shift issue on stm32f769i-disco been solved? I no longer have access to hardware to verify it.

Unfortunately no.. I have tried with offset and different setting but didn't work

@ssekar15 Was this resolved?

status = "okay";
};

qsh_030_i2c: &i2c4 {
Copy link
Contributor

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 {
Copy link
Contributor

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 */

Copy link
Contributor

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
Copy link
Contributor

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:
Copy link
Contributor

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:
Copy link
Contributor

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:
Copy link
Contributor

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 .

@github-actions
Copy link

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.

@github-actions github-actions bot added the Stale label May 12, 2025
@github-actions github-actions bot closed this May 27, 2025
@erwango erwango reopened this May 27, 2025
@sonarqubecloud
Copy link

@github-actions github-actions bot removed the Stale label May 28, 2025
@danieldegrasse danieldegrasse modified the milestones: v4.2.0, v4.3.0 Jul 14, 2025
@zhang-wenchao
Copy link
Contributor

I own this board and am trying to enable support. What is the current status of this PR? Does it require further maintenance?

@ssekar15
Copy link
Contributor Author

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.
#74646 (comment)

@zhang-wenchao
Copy link
Contributor

I tested this PR and found that the screen displayed color cast and abnormal display orientation and the touch was not usable.

@zhang-wenchao
Copy link
Contributor

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. #74646 (comment)

I'll try my best, but I'm no expert.

@zhang-wenchao
Copy link
Contributor

There is another PR that implements this feature.

@erwango
Copy link
Member

erwango commented Oct 22, 2025

There is another PR that implements this feature.

Thanks. Done by #95200. Closing

@erwango erwango closed this Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Clock Control area: Devicetree Binding PR modifies or adds a Device Tree binding area: Display area: Samples Samples area: Shields Shields (add-on boards) block: HW Test Testing on hardware required before merging platform: STM32 ST Micro STM32

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants