We are trying to bring up B101UAN01 MIPI DSI panel(1920x1200) on our custom imx8mq board with linux BSP kernel- 41.14.78
We have created the device tee and added the panel timings in panel-simple.c driver for B101UAN01 DSI panel. We are using panel-simple.c, as B101UAN01 panel does not have any init sequence and manufacturer command sets in their datasheet.
We could able to get the back light. Frame buffer fb0 is created, driver is registered. We have changed the resolution to 1920x1080 from 1920x1200(actual panel resolution) as MIPI DSI will support upto 1080p resolution. Also reduced the clock frequency to 148000 khz from 154500 khz.
But there is no display on screen. Attached our dts and panel-simple.c files for your reference.
Please tell us whether we are going in correct path. Please provide inputs on this.
Also we would like to clarify another one query here.
What is the clock frequency range for lcdif source ?
Thanks,
Antony
Hi Antony
one can try to reuse raydium-rm67191 driver (remove its initialization)
and adjust lcd timings in struct display_timing rad_default_timing
panel-raydium-rm67191.c\panel\drm\gpu\drivers - linux-imx - i.MX Linux kernel
for adjustion clocks may be useful
https://community.nxp.com/thread/513899
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igor,
Thanks for your input.
We have taken raydium-rm67191 driver and removed initialization. We have added our timings via display-timings
property in dts file which is used by panel driver.
Attached panel-b101uan01.c for your reference.
Our dts changes as below:
&mipi_dsi_bridge {
status = "okay";
panel@0 {
compatible = "auo,b101uan01";
status = "okay";
reg = <0>;
pinctrl-0 = <&pinctrl_mipi_dsi_en>;
power-gpio = <&gpio5 3 GPIO_ACTIVE_HIGH>;
bklite-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
bkliteen-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
dsi-lanes = <4>;
video-mode = <0>;
panel-width-mm = <108>;
panel-height-mm = <272>;
display-timings {
timing {
clock-frequency = <148000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <185>;
hsync-len = <0>;
hback-porch = <925>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel1_in: endpoint {
remote-endpoint = <&mipi_dsi_bridge_out>;
};
};
};
port@2 {
mipi_dsi_bridge_out: endpoint {
remote-endpoint = <&panel1_in>;
};
};
};
Below is our boot logs:
[ 1.059121] dcss-core 32e00000.dcss: Configured video pll 2 with ref_clk 1 freq 594000000 (actual 594000000)
[ 1.081851] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 1.088491] [drm] No driver support for vblank timestamp query.
[ 1.094638] imx-drm display-subsystem: bound imx-dcss-crtc.0 (ops dcss_crtc_ops)
[ 1.102145] nwl_dsi-imx mipi_dsi@30A00000: Using DCSS as input source
[ 1.108922] DEBUG: Entering rad_panel_probe
[ 1.113214] DEBUG: display-timings property from dts
[ 1.118304] DEBUG: display-timings is done
[ 1.122531] DEBUG:power gpio enabled
[ 1.126219] DEBUG:bklite gpio enabled
[ 1.129990] DEBUG:bklite brightness enabled
[ 1.134274] DEBUG:drm_panel_init done
[ 1.138036] DEBUG:rad_panel_functions done
[ 1.142235] DEBUG: drm panel added
[ 1.145745] nwl-mipi-dsi 30a00000.mipi_dsi_bridge: [drm:nwl_dsi_host_attach] lanes=4, format=0x0 flags=0x3
[ 1.155469] DEBUG: mipi dsi attached
[ 1.159147] DEBUG: End of rad_panel_probe
[ 1.163397] imx-drm display-subsystem: bound mipi_dsi@30A00000 (ops imx_nwl_dsi_component_ops)
[ 1.172056] DEBUG: End of rad_panel_get_modes
[ 1.182310] DEBUG: Video pll rate: 888000000 (actual: 887999998)
[ 1.182313] DEBUG: adjusted->crtc_clock 148000
[ 1.182360] DEBUG: Video pll rate: 888000000 (actual: 887999998)
[ 1.182363] DEBUG: adjusted->crtc_clock 148000
[ 1.748781] DEBUG:Entering rad_panel_prepare
[ 1.748784] DEBUG:End of rad_panel_prepare
[ 1.748789] DEBUG:Entering rad_panel_enable
[ 1.748791] DEBUG: End of rad_panel_enable
[ 1.755059] DEBUG: Video pll rate: 888000000 (actual: 887999998)
[ 1.755062] DEBUG: adjusted->crtc_clock 148000
[ 1.755103] DEBUG: Video pll rate: 888000000 (actual: 887999998)
[ 1.755106] DEBUG: adjusted->crtc_clock 148000
[ 1.814
&mipi_dsi_bridge {
status = "okay";
panel@0 {
compatible = "auo,b101uan01";
status = "okay";
reg = <0>;
pinctrl-0 = <&pinctrl_mipi_dsi_en>;
power-gpio = <&gpio5 3 GPIO_ACTIVE_HIGH>;
bklite-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
bkliteen-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
dsi-lanes = <4>;
video-mode = <0>;
panel-width-mm = <108>;
panel-height-mm = <272>;
display-timings {
timing {
clock-frequency = <154000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <185>;
hsync-len = <0>;
hback-porch = <925>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
port {
panel1_in: endpoint {
remote-endpoint = <&mipi_dsi_bridge_out>;
};
};
};
port@2 {
mipi_dsi_bridge_out: endpoint {
remote-endpoint = <&panel1_in>;
};
};
};
400] Console: switching to colour frame buffer device 240x67
[ 1.814470] DEBUG: Video pll rate: 888000000 (actual: 887999998)
[ 1.814473] DEBUG: adjusted->crtc_clock 148000
[ 1.814514] DEBUG: Video pll rate: 888000000 (actual: 887999998)
[ 1.814517] DEBUG: adjusted->crtc_clock 148000
[ 1.943971] imx-drm display-subsystem: fb0: frame buffer device
[ 1.950564] [drm] Initialized imx-drm 1.0.0 20120507 for display-subsystem on minor 0
Still No display on panel. Please advice if anything is wrong here.
Thanks,
Antony
Attached the panel driver above for your reference
Hi, Antony,
Did you resolve this issue?
I have the same problem. Could you please share your solution for me? THX.
Bruno