Hello,
I was using Torizon OS 6.7.0 with toradex_5.15-2.2.x-imx with a custom device tree for my touchscreen on verdin module with a mallow carrier board. It works perfectly.
Now I try to migrate to Torizon OS 7.1 with toradex_6.6-2.1.x-imx. I saw that they were some changes needed for the device tree. I made the adaptation based on verdin-imx8mp_panel-cap-touch-10inch-lvds_overlay.dts as reference.
At the boot I got those error messages:
[ 6.452868] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with panel-lvds-native
[ 6.468871] imx-drm display-subsystem: bound imx-lcdifv3-crtc.0 (ops lcdifv3_crtc_ops)
[ 6.469210] imx-drm display-subsystem: bound ldb-display-controller (ops imx8mp_ldb_ops [imx8mp_ldb])
[ 6.469559] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 1
[ 6.475328] imx-drm display-subsystem: [drm] fb0: imx-drmdrmfb frame buffer device
[ 6.507249] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with 32e90000.lcd-controller
[ 6.530687] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with phy-lvds
the full dmesg logs:
dmesg.txt (38.2 KB)
Could you help me to understand where is the issue ?
best regards,
David
my device tree:
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pwm/pwm.h>
#include “…/…/linux/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h”/ {
compatible = “toradex,verdin-imx8mp”;
};&{/} {
backlight_lvds_native: backlight-lvds-native {
compatible = “pwm-backlight”;
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_i2s_2_d_out_dsi_1_bkl_en>;
brightness-levels = <0 45 63 88 119 158 203 255>;
default-brightness-level = <4>;
/* Verdin I2S_2_D_OUT as GPIO (SODIMM 46) /
enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
/ Verdin PWM_2 (SODIMM 16) */
pwms = <&pwm2 0 6666667 PWM_POLARITY_INVERTED>;};
panel-lvds-native {
compatible = “panel-lvds”;
backlight = <&backlight_lvds_native>;
data-mapping = “vesa-24”;
height-mm = <163>;
width-mm = <261>;panel-timing { clock-frequency = <66300000 72400000 78900000>; de-active = <1>; hactive = <1280 1280 1280>; hback-porch = <88 88 88>; hfront-porch = <12 72 132>; hsync-active = <0>; hsync-len = <2 20 40>; pixelclk-active = <0>; /* negative edge */ vactive = <800 800 800>; vback-porch = <23 23 23>; vfront-porch = <1 15 49>; vsync-active = <0>; vsync-len = <2 10 20>; }; port { panel_lvds_native_in: endpoint { remote-endpoint = <&lvds_out>; }; };
};
};&gpu_2d {
status = “okay”;
};&gpu_3d {
status = “okay”;
};/* Verdin I2C_2_DSI */
&i2c2 {
#address-cells = <1>;
#size-cells = <0>;
status = “okay”;touch@41 {
compatible = “ilitek,ili251x”;
reg = <0x41>;
pinctrl-names = “default”;
pinctrl-0 = <&pinctrl_i2s_2_d_in_gpio>,
<&pinctrl_i2s_2_sync_gpio>;
/* Verdin I2S_2_SYNC as GPIO (SODIMM 44) /
interrupt-parent = <&gpio4>;
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
/ Verdin I2S_2_D_IN as GPIO (SODIMM 48) */
reset-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>;
status = “okay”;
};
};&lcdif2 {
status = “okay”;
};&ldb {
status = “okay”;lvds-channel@0 {
fsl,data-mapping = “spwg”;
fsl,data-width = <24>;
status = “okay”;port@1 { reg = <1>; lvds_out: endpoint { remote-endpoint = <&panel_lvds_native_in>; }; };
};
};&ldb_phy {
status = “okay”;
};&mix_gpu_ml {
status = “okay”;
};&ml_vipsi {
status = “okay”;
};/* Verdin PWM_2 */
&pwm2 {
status = “okay”;
};&iomuxc {
pinctrl_i2s_2_d_in_gpio: gpio4io30grp {
fsl,pins =
<MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30 0x1c4>; /* SODIMM 48 */
};pinctrl_i2s_2_sync_gpio: gpio4io31grp {
fsl,pins =
<MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31 0x184>; /* SODIMM 44 */
};
};