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
```
is there errata for this bug ?
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?
this is from "
i.MX 8M Plus Applications Processor Reference Manual, Rev. 1, 06/2021"
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?
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
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
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?
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:
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!
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.