cancel
Showing results for 
Search instead for 
Did you mean: 

Can't choose Data Enable polarity of LTDC if DSI is enabled and missing pins for STM32U5G9NJ

upCntx
Associate II

We are using MIPI-DSI on a STM32U5G9NJ.

First bug: There are 2 pins missing in the Pinout View: D4 and J9. Both are VDD11 pins.

 

Second bug:

After Enabling LTDC and DSI in STM32CubeMX I can't select "Active High" for "Data Enable Polarity" in LTDC -> Parameter settings.

 

To reproduce:

* Create project with STM32U5G9NJ (or a different STM32U5G9 package)

* Enable HSE (System Core -> RCC -> HSE)

* Enable LTDC (with a DSI setting; which one doesn't matter)

* Now I'm able to choose "Active High" for "Data Enable Polarity"

* Enable DSI (mode doesn't matter)

* Now I can only select "Active Low" for "Data Enable Polarity" (if "Active High" was selected previously, LTDC displays an error telling me to select something different)

We use a display where we need DE polarity "Active high". So we can see that this setting is applied and making a huge difference when changing it manually in the source code.

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @upCntx ,

 

Further to your comment, I can confirm that there is a mismatch between STM32CubeMX and DSI14102.

MahmoudBenRomdhane_0-1726064340609.png

Thank you for bringing this issue to our attention, it has been reported internally to Dev team for correction (under internal ticket number 190802).

 

Thanks.

Mahmoud

View solution in original post

8 REPLIES 8
Mahmoud Ben Romdhane
ST Employee

Hello @upCntx ,

First let me thank you for posting and welcome to the ST Community.

The package that matches with the STM32U5G9NJ is : TFBGA216 DSI SMPS.

This package does not include a pin with J9 number :

MahmoudBenRomdhane_0-1725446581881.png

And includes PI7 pin

 

MahmoudBenRomdhane_2-1725447052809.png

MahmoudBenRomdhane_3-1725447870336.png

Thanks.

Mahmoud

KDJEM.1
ST Employee

Hello @upCntx ,

It is mentioned in AN4860 that "In all DSI modes, LTDC NOT DE polarity must be set to active low and so DSI DE polarity must be active high. The inverse cannot be used."

KDJEM1_0-1725457971018.png

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

I'm sorry, after writing some of the text I changed the package without double-checking that both bugs are present in this one.

The faulty package is exactly the UFBGA-144, therefore the STM32U5G9ZJ.

Take a look:

upCntx_0-1725988061102.png

 

That's why I'm telling you to update your configuration and documentation.

I've tested it.

With "Active Low" our display shows some garbage, with "Active High" it's working properly.

At least for the U5 this flag is working.

Never trust some documentation when someone tells you the reality is different. Especially if the documentation is old and covers multiple families of STM32s. I guess no one really checks all the details for the families added later on. ;)

 

PS: You didn't read my post properly. I don't know why someone would give you Kudos for your answer.

Hello @upCntx ,

Thank you for updating post.

Could you please give more detail about the DSI mode. What are the states of the DEP and DEPOL bits in DSI_LPCR register and in LTDC_GCR register?

Could you please share your project.

I reported the issue internally for checking.

Internal ticket number: 190180 (This is an internal tracking number and is not accessible or usable by customers).

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Of course I can provide more details. Sharing the project is not really possible, we are not using the CUBE HAL library.

 

DEPOL bit of LTDC_GCR register is 0 - that means notDE is active low.

DE bit of DSI_LPCR register is 0 - that means DE is active high.

Now I see the real problem - in the CubeMX the configuration says "DE polarity", but in reality it's "notDE polarity" (the exported CUBE HAL source code contains the line "hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;"). So I think you should change the description.

 

I just checked with inverting the polarity (DEPOL=1 and DE=1). Then the display is more or less showing the right image: I can see it, but it starts in the middle of the screen instead of at the top. That's why I think that this configuration is working, too - but it's not the correct one for the display we are using. I may be wrong, of course.

The other configurations result in a black display screen.

KDJEM.1
ST Employee

Hello @upCntx ,

 

Thank you for these information and details.

Now I see the real problem - in the CubeMX the configuration says "DE polarity", but in reality it's "notDE polarity" (the exported CUBE HAL source code contains the line "hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;"). So I think you should change the description.

I understand your point of view and I reported it to the relevant team.

Thank you for your contribution in STCommunity, all your questions, reported bugs, suggestions and comments.... are welcome.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hello @upCntx ,

 

Further to your comment, I can confirm that there is a mismatch between STM32CubeMX and DSI14102.

MahmoudBenRomdhane_0-1726064340609.png

Thank you for bringing this issue to our attention, it has been reported internally to Dev team for correction (under internal ticket number 190802).

 

Thanks.

Mahmoud