Hi @floji !
Sorry for the delay.
Maybe this is something that your specific display needs?
If you could get a Toradex Capacitive 10.1" LVDS display, it would be good because you could do a “sanity check” with the patches as-is and then try to understand what are the differences between this one and your display.
IIRC, the following hunk (from the 2nd patch) is LVDS-specific. So I think you need to check how you must “fine-tune” it to make sense for the display you are using.
diff --git a/drivers/video/nxp/imx/imx8_lvds.c b/drivers/video/nxp/imx/imx8_lvds.c
index 829b419d415..18696cde764 100644
--- a/drivers/video/nxp/imx/imx8_lvds.c
+++ b/drivers/video/nxp/imx/imx8_lvds.c
@@ -181,9 +181,8 @@ void imx8_ldb_configure(struct udevice *dev)
mode =
IMX_LVDS_SET_FIELD(LVDS_CTRL_CH0_MODE, LVDS_CTRL_CH0_MODE__DI0) |
IMX_LVDS_SET_FIELD(LVDS_CTRL_CH0_DATA_WIDTH, LVDS_CTRL_CH0_DATA_WIDTH__24BIT) |
- IMX_LVDS_SET_FIELD(LVDS_CTRL_CH0_BIT_MAP, LVDS_CTRL_CH0_BIT_MAP__JEIDA) |
- IMX_LVDS_SET_FIELD(LVDS_CTRL_CH0_10BIT_ENABLE, LVDS_CTRL_CH0_10BIT_ENABLE__10BIT) |
- IMX_LVDS_SET_FIELD(LVDS_CTRL_DI0_DATA_WIDTH, LVDS_CTRL_DI0_DATA_WIDTH__USE_30BIT);
+ IMX_LVDS_SET_FIELD(LVDS_CTRL_CH0_10BIT_ENABLE, LVDS_CTRL_CH0_10BIT_ENABLE__USE_DATA_WIDTH ) |
+ IMX_LVDS_SET_FIELD(LVDS_CTRL_DI0_DATA_WIDTH, LVDS_CTRL_DI0_DATA_WIDTH__USE_24BIT);
regmap_write(priv->gpr, LDB_PHY_OFFSET + LVDS_CTRL, mode);
Since your display works on Linux, you can try to check what Linux is doing on its side to make your display work…
Best regards,