hi
i'm use imx8mq
I checked that the LCD was running in YOCTO Linux kernel version 4.9.88.
However, LCD do not work as YOTO zeus is used and kernel version is changed to 5.4.70.
It seems that "mipi_dis_bridge" is no longer supported on the device-tree.
The display panel uses ti, sn65dsi8x.
Device-tree similarly modified the file "imx8mq-evk-lcdif-rm67191.dts".
kernel log..5.4.70
[ 2.043644] >>>>>>>>>>>>>>>>>>>>>>> DSI85-I2C: Probe called!
[ 2.150884] Goodix-TS 1-005d: ID 911, version: 1050
[ 2.156176] Goodix-TS 1-005d: Direct firmware load for goodix_911_cfg.bin failed with error -2
[ 2.164817] Goodix-TS 1-005d: Falling back to sysfs fallback for: goodix_911_cfg.bin
[ 2.178353] i2c i2c-1: IMX I2C adapter registered
[ 2.184445] ak4458 2-0010: 2-0010 supply DVDD not found, using dummy regulator
[ 2.191740] ak4458 2-0010: 2-0010 supply AVDD not found, using dummy regulator
[ 2.200251] ak4458 2-0012: 2-0012 supply DVDD not found, using dummy regulator
[ 2.207533] ak4458 2-0012: 2-0012 supply AVDD not found, using dummy regulator
[ 2.216139] ak5558 2-0013: 2-0013 supply DVDD not found, using dummy regulator
[ 2.223434] ak5558 2-0013: 2-0013 supply AVDD not found, using dummy regulator
[ 2.231572] ak4458 2-0011: 2-0011 supply DVDD not found, using dummy regulator
[ 2.238846] ak4458 2-0011: 2-0011 supply AVDD not found, using dummy regulator
[ 2.246722] i2c i2c-2: IMX I2C adapter registered
[ 2.251949] imx8mq-usb-phy 381f0040.usb-phy: 381f0040.usb-phy supply vbus not found, using dummy regulator
[ 2.261909] imx8mq-usb-phy 382f0040.usb-phy: 382f0040.usb-phy supply vbus not found, using dummy regulator
[ 2.279263] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 2.285940] [drm] No driver support for vblank timestamp query.
[ 2.295461] cdns-mhdp-imx 32c00000.hdmi: lane-mapping 0xe4
[ 2.306912] imx-dcss 32e00000.display-controller: bound 32c00000.hdmi (ops cdns_mhdp_imx_ops)
[ 2.316784] [drm] Initialized imx-dcss 1.0.0 20190917 for 32e00000.display-controller on minor 0
[ 2.353199] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 2.393599] cdns-mhdp-imx 32c00000.hdmi: 0,ff,ff,ff,ff,ff,ff,0
[ 2.394465] [drm] Mode: 1920x1080p148500
[ 2.419904] [drm] Pixel clock: 148500 KHz, character clock: 148500, bpc is 8-bit.
[ 2.419910] [drm] VCO frequency is 5940000 KHz
[ 2.509078] [drm] Sink Not Support SCDC
[ 2.510304] [drm] No vendor infoframe
[ 2.607013] Console: switching to colour frame buffer device 240x67
[ 2.674144] imx-dcss 32e00000.display-controller: fb0: imx-dcssdrmfb frame buffer device
[ 2.683423] [panel-sn65dsix:sn65_panel_probe] called!
[ 2.690135] [panel-sn65dsix:sn65_panel_probe] enable_gpio(device_en) : 134
[ 2.697199] [panel-sn65dsix:sn65_panel_probe] Successed to register backlight!
[ 2.704543] nwl-dsi 30a00000.mipi_dsi: [drm:nwl_dsi_host_attach] lanes=4, format=0x0 flags=0x813
[ 2.713346] [panel-sn65dsix:sn65_panel_probe] mipi_dsi_attach ok!
[ 2.719585] nwl-dsi 30a00000.mipi_dsi: [drm:imx8mq_dsi_select_input] Using LCDIF as input source
[ 2.728898] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 2.735522] [drm] No driver support for vblank timestamp query.
[ 2.742961] [drm] Initialized mxsfb-drm 1.0.0 20160824 for 30320000.lcdif on minor 1
[ 2.750753] [panel-sn65dsix:sn65_panel_get_modes] called!
[ 2.756251] [panel-sn65dsix:sn65_panel_get_modes] Successed to create display mode!
[ 2.767786] mxsfb 30320000.lcdif: fb1: mxsfb-drmdrmfb frame buffer device
[ 2.776253] pps pps0: new PPS source ptp0
[ 2.785744] fec 30be0000.ethernet: Invalid MAC address: 00:00:00:00:00:00
In normal operation, the following additional messages are printed
kernel log 4.9.88.....
[ 1.527731] [drm] OPIPE_CFG: gamut = 1, nl = 1, pr = 1, pix_format = 875713089
[ 2.049235] [panel-sn65dsix:sn65_panel_prepare] called!
[ 2.050845] [panel-sn65dsix:sn65_panel_prepare] gpio_get_value(device_en) : 1
[ 2.050949] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Now Configuring
[ 2.076415] Config END
[ 2.076418] [panel-sn65dsix:sn65dsi85_reconfig] called!
[ 2.083502] [panel-sn65dsix:sn65dsi85_enable] OK!
[ 2.083530] [panel-sn65dsix:sn65_panel_prepare] mipi_dsi_dcs_exit_sleep_mode!
[ 2.208886] [panel-sn65dsix:sn65_panel_prepare] mipi_dsi_dcs_set_display_on!
[ 2.224850] [panel-sn65dsix:sn65_panel_enable] called!
[ 2.224858] panel-ti-sn65dsi8x 30a00000.mipi_dsi_bridge.0: New brightness: 255
[ 2.256847] Console: switching to colour frame buffer device 128x37
[ 2.340243] imx-drm display-subsystem: fb0: frame buffer device
In kernel 5.4.70, the panel driver no longer works.
Please give me some advice.
regards.
Hi
Did you config timing parms?Can you tell me the changes you have done in kernel?
BR
Zhiming
Timing was defined as follows.
&mipi_dsi {
status = "okay";
fsl,clock-drop-level = <2>;
panel@0 {
compatible = "ti,panel-sn65dsi8x";
reg = <0>;
pinctrl-0 = <&pinctrl_mipi_dsi_en>;
pinctrl-names = "default";
reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
dsi-lanes = <4>;
lvds-format = <1>;
video-mode = <2>;
width-mm = <68>;
height-mm = <121>;
//target = <&i2c2>;
device_en = <&gpio5 6 GPIO_ACTIVE_HIGH>;
backlight = <&lvds_backlight0>;
client-device = <&sn65dsi>;
display-timings {
timing {
clock-frequency = <61000000>;
hactive = <1024>;
vactive = <600>;
hsync-len = <32>;
hback-porch = <160>;
hfront-porch = <48>;
vsync-len = <2>;
vback-porch = <20>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel_in: endpoint {
remote-endpoint = <&mipi_dsi_out>;
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
mipi_dsi_in: endpoint {
remote-endpoint = <&lcdif_mipi_dsi>;
};
};
port@1 {
reg = <1>;
mipi_dsi_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
This parameter worked on kernel 4.9.88 .
think you.
Can you provide whole logs in L5.X and L4.X for me to compare?
Hi
The issue is caused by "imx-dcss 32e00000.display-controller: ctxld: can't get irq number"
The irq number is in dtsi,but it can not parse correctly.
It seem relates with irqsteer in imx8mq.dtsi
irqsteer: interrupt-controller@32e2d000 {
compatible = "fsl,imx8m-irqsteer", "fsl,imx-irqsteer";
reg = <0x32e2d000 0x1000>;
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>;
clock-names = "ipg";
fsl,channel = <0>;
fsl,num-irqs = <64>;
interrupt-controller;
#interrupt-cells = <1>;
};
The irq should be correct, but not correct in your screen.
BR
Zhiming
I'm still facing the same problem.
I don't know how to solve "ctxld: can't get irq number ".
Running Gstreamer -> videotestsrc ! kmssink will cause the LCD driver to run and kill the system.
Do I need a patch for the device tree?
The imx8mq.dtsi file is the same as the irqsteer you gave me.
my imx8mq-evk.dts file is
&irqsteer {
status = "okay";
};
&dcss {
status = "okay";
port@0 {
dcss_out: endpoint {
remote-endpoint = <&hdmi_in>;
};
};
};
&hdmi {
compatible = "cdn,imx8mq-hdmi";
lane-mapping = <0xe4>;
status = "okay";
port@1 {
hdmi_in: endpoint {
remote-endpoint = <&dcss_out>;
};
};
};
dcss is connected with hdmi.
Please let me know what I need to fix.
thank you.
Hi @kangmw086, have you solved this problem? Cause I'm passing for the same issue.
Let me know if there is a solution.
BR,
fthm
I am afraid to see no solutions on this topic, probably faced several and several times.
irqsteer is already defined in dtsi and no child dts or dtsi are overriding this node apparently.
Could you provide some advises/checks for investigation please?