IMX8MP and DSI errata

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8MP and DSI errata

1,727 Views
tylernol
Contributor IV

hi there , I am bringing up a 1080x2160 panel with the IMX8MP and am encountering what appears to be hsync issues Digging through the sec-dsim.c bridge code, I see the following notes:

https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/drivers/gpu/drm/bridge/sec-dsim.c#L1621

 

```

/* workaround for CEA standard mode "1280x720@60" "1920x1080p24"
* display on 4 data lanes with Non-burst with sync
* pulse DSI mode, since use the standard horizontal
* timings cannot display correctly. And this code
* cannot be put into the dsim Bridge's mode_fixup,
* since the DSI device lane number change always
* happens after that.
*/
```

is there errata for this bug ?

0 Kudos
13 Replies

1,680 Views
tylernol
Contributor IV

also when I look at the programming guide for the DSI I see a note saying the max resolution is "1-2047" . Is that correct? Or is is really 4095? There appear to be 12 bits allocated? 

Screenshot 2023-05-01 at 2.33.33 PM.png

 this is from "

i.MX 8M Plus Applications Processor Reference Manual, Rev. 1, 06/2021"

0 Kudos

1,705 Views
joanxie
NXP TechSupport
NXP TechSupport

what display do you use? did you use MIPI DSI or HDMI port?

0 Kudos

1,697 Views
tylernol
Contributor IV

MIPI DSI, thanks.

0 Kudos

1,646 Views
joanxie
NXP TechSupport
NXP TechSupport

refer to the reference manual:

This chip supports one 4-lane MIPI DSI display with pixels from the LCDIF. The
key features of the MIPI DSI (controller and PHY) include:
• Compliant to MIPI-DSI standard v1.2
• Support up to 4 data lanes
• Maximum resolution limited to resolutions achievable with a 250MHz pixel
clock and active pixel rate of 200Mpixel/s with 24-bit RGB. This includes
resolutions such as:
• 1080 p60
• WUXGA (1920x1200) at 60 Hz
• 1920x1440 at 60 Hz
• UWHD (2560x1080) at 60 Hz
• WQHD (2560x1440) can be supported by reduced blanking mode

 

so 1080x2160 should be supported, what kind of hsync issue do you get? did you measure pixel clock?

0 Kudos

1,624 Views
tylernol
Contributor IV

we have not measured the MIPI clock yet. Getting that wired up by Monday. Is there any documentation on how the "

13.7.2.14.3.1 Timing Control Register of High-Speed Data Transmission" registers are set? I'd like to understand the results we get when the sec-dsim driver looks up in dphy_timing_ln14lpp_v1p2

0 Kudos

1,637 Views
tylernol
Contributor IV
the documentation does not quite seem to match the implementation for the PLL programming. When the row for 810 is selected, what FOUT frequency should be generated here?
0 Kudos

1,613 Views
joanxie
NXP TechSupport
NXP TechSupport

for timing, you can refer to the document as below to understand

https://community.nxp.com/docs/DOC-345307

firstly I suggest that you need to know what your display pixel clock, then check if current adv7535 can support it or no, pls check structure valid_clocks from

"linux-imx/adv7511_drv.c at lf-6.1.y · nxp-imx/linux-imx · GitHub"

if not, pls add new pixel clock there, the pixel clock is from video_pll1_out, you can find it from dtsi file, this clock is defined from imx_pll1443x_tbl as below

"linux-imx/clk-pll14xx.c at lf-6.1.y · nxp-imx/linux-imx · GitHub"

this pll clock(pllout)  Formula :
• FOUT=((m + k/65536) × FIN) / (p × 2s)
• Where, 1 ≤ p ≤ 63, 64 ≤ m ≤ 1023, 0 ≤ s ≤ 6, -32768 ≤ k ≤ 32767

hope these are helpful for you

0 Kudos

1,583 Views
tylernol
Contributor IV

for the MIPI DSI PHY (MPHY) , sec-dsim.c , both in the code and the documentation, the settings seem a bit different. It has P, M, and S, but no K. Is that correct? 

 
 
thanks!
  
0 Kudos

1,580 Views
joanxie
NXP TechSupport
NXP TechSupport

it's ok, don't need k, you can just consider the forum as

PLL Fout = Fin * M/(p*2^s)

0 Kudos

1,570 Views
tylernol
Contributor IV

alright I have a pixel clock that works out well for the PLL divider computation: pixel = 135500000, bit = 812400000(m = 677, p = 1-. s= 0). However there is also the DPHY timing lookup:

https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/drivers/gpu/drm/imx/sec_mipi_dphy_ln14lpp.h#LL21C...

 

that bit clock will match against the "810" entry:

https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/drivers/gpu/drm/imx/sec_mipi_dphy_ln14lpp.h#L151

if you look at adjacent entries, it is the same timing clues as 800 and 820. What is the programming/doc guide for this part? 

 thanks!

  

 

 

 

0 Kudos

1,497 Views
joanxie
NXP TechSupport
NXP TechSupport
0 Kudos

1,641 Views
tylernol
Contributor IV

it is strobing horizontal bars over the image, I can update a video . I will also measure the actual bit clock, the pixel clock is 135466, which becomes a bit clock of 812796. In the LUT for the mphy, the bsearch yields the entry for 810, which appears to have the same settings as 820, so I am wondering if the bit clock is running a bit faster than expected. I will get a measure of the actual DSI clock today as well. 

0 Kudos

1,626 Views
tylernol
Contributor IV

here is a capture of what the video looks like . 

0 Kudos