Hi NXP
I have I.MX 8M Mini LPDDR4 EVK board & MX8-DSI-OLED1A panel & NXP MIPI CSI camera.
First, I download pre-build image(version=LF_v5.15.52-2.1.0_images_IMX8MMEVK),
and flash microSD by command
sudo dd if=imx-image-full-imx8mmevk.wic of=/dev/sdc bs=1M conv=fsync
In u-boot set:
setenv fdtfile imx8mm-ddr4-evk-rm67199-cmd-ram.dtb
run bootcmd
It can success display,and I run below Gstreamer test
case 1. Camera CSI -> DSI-OLED1A (display real time)
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, format=YUY2, width=1920, height=1080, framerate=30/1' ! autovideosink
case 2. TS file -> decode -> DSI-OLED1A(display real time)
gst-launch-1.0 filesrc location=test720p.ts ! tsparse ! tsdemux ! queue ! h264parse ! v4l2h264dec ! autovideosink
case 3. Camera CSI -> H264 encode -> H264 decode -> DSI-OLED1A(display more than 2s latency)
gst-launch-1.0 v4l2src ! 'video/x-raw, format=YUY2, width=1280, height=720, framerate=30/1' ! v4l2h264enc ! queue ! h264parse ! mpegtsmux ! tsparse ! tsdemux ! queue ! h264parse ! v4l2h264dec ! autovideosink sync=false
case 4. Ethrrnet -> H264 decode -> DSI-OLED1A(display more than 2s latency)
gst-launch-1.0 udpsrc port=1234 ! application/x-rtp,media=video,clock-rate=90000,encode-name=MP2T-ES,payload=33 ! rtpmp2tdepay ! tsparse ! tsdemux ! queue ! h264parse ! v4l2h264dec ! autovideosink sync=false
But,case 3 and case 4 if I use HDMI out( boot set default dtb file ,MIPI DSI convert to HDMI out) ,
HDMI out can display real time when run same gstreamer cammand.
I want to know the reason and how can I improve it ?
thanks
Hi Zhiming
Thanks reply
I already tried "imx8mm-ddr4-evk-rm67199.dtb",but it can't display
This issue makes me very troubled...
The RM67199 support two operation modes: command mode and video mode.
Command Mode refers to operation in which transactions primarily take the form of sending commands and data to a display module that incorporates a display controller. The display controller may include local registers and a frame buffer[in RM67199]. Systems using Command Mode write to, and read from, the registers and frame buffer memory. The host processor indirectly controls activity at the peripheral by sending commands, parameters and data to the display controller.
Video Mode refers to operation in which transfers from the host processor to the peripheral take the form of a real-time pixel stream.
The imx8mm-evk-rm67199-cmd-ram.dts will make rm67199 work at Command Mode, the command mode will cost time to display the correct pixel.
So you should use imx8mm-evk-rm67199.dts, can you share the kernel log when you use this dtb?
Hi @Laiweiyu
At the moment i only have i.mx8mpevk and OLED1.The attachment is my test log with imx8mp-evk-rm67199.dtb. Do you have other i.MX platform or OLED panel? You can test if this panel is broken.
I have I.MX 8M Mini LPDDR4 EVK board
-->But you use ddr4 dtb, you should use imx8mm-evk-rm67199.dtb
L5.15.52 with ubuntu
L5.15.32
I already use " imx8mm-evk-rm67199.dtb" , but it can't display,
And I only have I.MX 8M Mini LPDDR4 EVK board & MX8-DSI-OLED1A panel
I take some pictures show this issue
Hi @Laiweiyu
Checked the panel part number in my side, it's same as yours(SCH-29834_A).
You need saveenv after you setenv.
I tried,but this dtb still can't display,
maybe the reason is that yours panel is MX8-DSI-OLED1,my panel is MX8-DSI-OLED1A ?
We are using same panel:
You can contact NXP to return this panel as it maybe a quality issue.
OK, I return this panel and get new panel,
and I use newest version image(L5.15.71_2.2.0_MX8MM).
It can display when set "imx8mm-evk-rm67199.dtb"
Thanks