We are working with the SMARC i.MX95 EVK. On this EVK, we are using an LVDS display along with the IT6263 LVDS-to-HDMI converter. We have a few queries regarding this setup:
Could you confirm the exact LVDS I2C bank that connects to the i.MX95 SoC?
Since we are using the Toradex SMARC carrier board, are there any specific jumper settings required for the LVDS I2C to connect with the i.MX95 SoC?
Could you please share the required DTS entries for integrating the IT6263 LVDS-to-HDMI converter?
As we are using the IT6263 LVDS-to-HDMI converter in our design, could you also suggest any alternative LVDS-to-HDMI converter ICs that are compatible with the Toradex SMARC SOM?
Kindly support this issue at the earliest. Thanks in advance.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?
SMARC iMX95 LVDS Display Support
Based on the SMARC iMX95 datasheet, I can provide the following information regarding LVDS display support:
LVDS Interface Availability
The SMARC iMX95 supports LVDS displays through the following configuration(1):
LVDS0: 18/24 bit single channel - Yes
LVDS1: 24 bit single channel - Yes (Assembly Option)
Display Adapter Solutions
For SMARC carrier boards, Toradex provides dedicated display adapters(2)(3):
According to the interface overview, the SMARC iMX95 has specific limitations(1):
HDMI Display interface: Not Available
DP on HDMI Pins: Not Available
DP++: DisplayPort++ - Yes (HDMI not available. Regular DP available on DP0. There is a DSI to DP converter on the SoM - Assembly Option)
Specific Query Limitations
I don’t have detailed information in the available sources about:
The exact LVDS I2C bank connections to the i.MX95 SoC
Specific jumper settings for SMARC carrier boards
DTS entries for the IT6263 LVDS-to-HDMI converter
Alternative LVDS-to-HDMI converter IC recommendations
For these specific technical details, I recommend checking the SMARC iMX95 hardware integration manual or the carrier board documentation, as the preliminary datasheet doesn’t include these implementation details.
Alternative Approach
Given that the SMARC iMX95 has native DisplayPort support with an optional DSI to DP converter(1), you might consider using the Toradex DSI to HDMI Adapter(2) instead of a custom LVDS-to-HDMI solution, which would provide better integration with Toradex’s ecosystem.
The I2C bank for the LVDS consists of the I2C_LVDS_3V3_SDA and I2C_LVDS_3V3_SCL signals, which connect to the pins 36 and 38 of the LVDS connector on the board.
For using the LVDS1 interface, jumper header J95 must be disconnected
Presumably, any converter with a supported driver in our downstream linux kernel should work with the SMARC iMX95 (for instance, the one for the IT6263 is at drivers/gpu/drm/bridge/it6263.c). For suggestions on alternative approaches for your project, we recommend checking out our list of partners. They can help you evaluate the best alternative
The information regarding your 1 and 2 questions is at the SMARC iMX95 and the SMARC Development Board datasheets, you can refer to them for any other information regarding the hardware. Also feel free to ask further here if you’re not sure about something.
Regarding the I2C bank for LVDS:
I understand that the signals are routed to pins 36 (SDA) and 38 (SCL) on the LVDS connector, but I would like to know the I2C bus number (e.g., i2c1, i2c2, etc.) that corresponds to this connection on the i.MX95 SoM.
Regarding the Device Tree Overlay for the IT6263 LVDS to HDMI bridge:
While referencing the imx8qm and imx8xp device tree source files. When adding support for the IT6263 chip, is it necessary to include an HDMI node and configure a reset-gpios property? Could you confirm which properties are required for proper integration?
Go into your board and run the command below. You can compare the bus addresses from the symlinks with the address of the lpi2c5 node (426b0000) to find out which is the correct one.
ls -l /sys/dev/char/ | grep i2c
Regarding the HDMI, I’m not sure if it’s not necessary, but I believe writing the overlay according to the kernel documentation should work. According to it, the only required property (besides compatible and reg) is a video input, for which it uses lvds0_out as an example endpoint.
From the logs you provided on the /sys/bus directory, the i2c-4 interface does correspond to the LPI2C5, which should be connected to your converter.
Your configuration conceptually looks okay to me, but it’s difficult to investigate the issue further, since we do not work with the IT6263 converter, and do not have it here available for testing. The upstream kernel has further documentation on the driver, you can also try comparing yours with the specifications and example there.
To help solving issues with the converter and developing your application, I once again suggest checking out our list of partners. Let me know if you want help finding a suitable partner for your specific situation, we can point one out for you.
The previously mentioned I2C probe error has been resolved. Now, we are facing another issue — the i.MX95 Toradex and the IT6263 LVDS-to-HDMI chip are communicating properly over I2C. The card0-HDMI-A node is created under /sys/class/drm/, and we are able to read the EDID and monitor status.
However, the modes entry is still empty. I have raised a related query at the link attached below.
Could you please check and let me know if you have any insights or suggestions regarding this issue?
As I said before, we do not work with the IT6263 converter, and do not have it here available for testing. Since I don’t know the details of how the controller works, I’m not sure what could be causing the issue.
The warning about fixed dependency cycle is because your LVDS and IT6263 reference each other, which could cause problems when initializing these entries. Since I don’t know how the driver works, I don’t know what you should do to configure its device tree properly, and I don’t know if this is the reason for the CRTC error or the i2cdetect issue.
Once again, if you are having issues with hardware and firmware outside of our domain, I recommend checking our list of partners and look for one that can help you develop your application.