Hello,We are trying to use a 1280X1024 Dual LVDS display that is connected via a MIPI -> Dual LVDS converter.The converter requires that we use a continuous DSI CLOCK in HS mode and at least one DSI Data lane which can switch between HS and LP mode, we have looked at the User manual: Hardware for the RA8D1 processor and the FSP documentation for the MIPI DSI.
Could anyone clarify the following:
Kind regards
Hi,
We have received your request and will give you a reply ASAP.
BR,
NP_Renesas
Please take note of the recommended maximum resolution for the GLCDC (given they are talking about using a 1280x1024 LCD panel) :- **
RA Flexible Software Package Documentation: Graphics LCD (r_glcdc) (renesas.github.io)
the figures for the RA8 will be based on 32 bit SDRAM, the EK-RA8D1 only has 16-bit SDRAM fitted.
How do we select which channel to use?
Don't confuse the Command Mode Operation Channels and the Virtual Channel set in the DSI Command Packet.
To choose which Command mode Operation channel to use, write to the registers for the required Command Mode Operation Channel (n= 0 or 1), e.g. :-
To set the Virtual Channel sent in the DSI Command Packet , this is set in the SQCHnDSCmAR : Sequence Channel n Descriptor-m A Register :-
The sequence channel registers are used by the R_MIPI_DSI_Command() API RA Flexible Software Package Documentation: MIPI Display Serial Interface (r_mipi_dsi) (renesas.github.io)
the virtual channel for the command packet is set in the message structure passed to R_MIPI_DSI_Command( ) :-
There is a known issue with the R_MIPI_DSI_Command( ) API :-
Transmission of images is not affected
Note: This means that LP commands will be received only by displays configured as VC 0 (the most common configuration) and HS commands will be received only by displays configured as VC 1.
This issue does not affect situations where exclusively LP asynchronous commands are sent to a display controller configured for use of virtual channel 0 (this is common). Similarly, this issue would not affect configurations where exclusively HS asynchronous commands are sent to a display controller that uses virtual channel 1 (not common). For other configurations, there is no workaround at this time.
Affects versions:v5.0.0v5.0.1v5.1.0v5.2.0v5.3.0v5.4.0
Does lane 0 support both HS and LP modes?
Yes.
How do we set the DSI OUTPUT CLOCK frequency?
Looks like the DSI clock output frequency is DSI PLL Frequency / 2, you can set the DSI PLL Frequency in the properties of the r_mipi_phy driver.
Hello,Thanks for the reply. At least now the DSI CLOCK output frequency is correct.The issue mentioned does not affect "transmission of images", what does that mean? Is the buffer from the GLCDC driver considered an image?The datasheet for the converter mentions the following: It seems I need to be able to transition my data lanes from HS to LP and back. Is this part of the regular MIPI DSI spec already? Or simply not supported now because of the issue mentioned above.Perhaps this snippet from the datasheet clarifies things:
To clarify, the converter we use does NOT support any commands from MIPI, just data which is later converted to a dual LVDS signal. This is the specific converter we use: https://www.ti.com/product/SN65DSI84-Q1
Initialization requires data lanes to be set to LP11 mode on startup and later switched to HS. Is this possible?The main question I am now left with, for the required configuration: What Command Mode Operation Channel and Virtual Channel do I need to use?Thanks again for your response, I hope you will be able to help us further.
Sending the framebuffer data from the GLCDC is transmission of images, i.e. video mode.
Transition from LP to HS and back again is part of the MIPI specification.
SN65DSI84 is not a Renesas part, sorry we cannot support this part.
Hello,Thanks for clarifying!I am not asking for specific support on the SN65DSI84...But I need to be able to switch my data lanes to LP11 mode for a short period and then be able to switch it back. I am having a lot of difficulty with the datasheet regarding this, could you perhaps explain how to do this and if perhaps any fo the builtin MIPI_DSI stack functions already do this?Currently I call the R_MIPI_DSI_Open() function to start the clock in HS mode, and later on call R_MIPI_DSI_Start() to start video mode, which I assumes sets the DSI data lanes in HS (video) mode.Is this correct?Kind regards