ronbo panel updates - CM4
- Modified the panel-ronbo-rb070d30.c driver
- Added vc4-kms-dsi-ronbo-rb070d30.dts
- Added .config file which is the /boot/config-6.12.25+rpt-rpi-v8 from my CM4 and modified this line : CONFIG_DRM_PANEL_RONBO_RB070D30=m
- Add "extra" directory which contains : /boot/firmware/config.txt and /etc/modules-load.d/modules.conf
Something has gone horribly wrong with this PR it now contains over 3000 "modified" files.
Something has gone horribly wrong with this PR it now contains over 3000 "modified" files.
I ran "make bcm2711_defconfig"
But you'd also removed .gitignore and then added all the files that had changed. .gitignore used to include ignoring include/config and various other directories and file types used as part of the build process.
Leave it alone and I should be able to make sense of it from the first commit.
Hello 6by9, how is it going with the kernel tree? Did you manage to run it yet?
I've tidied up your commits and pushed them to https://github.com/6by9/linux/tree/rpi-6.12.y-dsi-ronbo
Capture made on both a CM4 and Pi5. Files attached. RonboCaptures.zip
The main capture files should be readable if you install the software from https://www.teledynelecroy.com/protocolanalyzer/mipi/envision-x84-analyzer/resources/analysis-software. I don't believe you need a licence for viewing (it's tied to the analyser hardware for capturing/generation).
I did notice that Pi5 was driving the display in sync event mode (as per the panel driver's request), whilst CM4 wasn't supporting that and was using sync pulse mode. There's a quick patch to the vc4 driver to add sync event mode, and that appears to work (second capture taken in that mode).
The images confirm that the video timings from both are almost exactly identical.
The timings for entering/exiting HS mode aren't that interesting/useful. Tprepare+Tpreamble is potentially shorter than I'd expect on CM4, but I haven't checked the relevant section of the D-PHY spec.
Yes CM4 and Pi5 differ in whether they send NULL packets or drop to LP mode when idle. Either is permitted in the spec - they're referenced as BLLP for "Blanking or Low Power", with description "DSI Packet: Arbitrary sequence of non-restricted DSI packets or Low Power Mode including optional BTA". A NULL packet is a non-restricted DSI packet.
Welcome to the wonderful world of DSI.
Please note that I'm not back in the office until Monday.
Hmm, quick search for the datasheet on the display to see which modes the controller states it supports.
https://ronboe.com/vdetail/392.html would appear to be the manufacturer. They state
Controller: HX8282-A&HX8696-A
Search for those part numbers, and HX8282-A01 is an LVDS TCON - https://www.displayfuture.com/Display/datasheet/controller/HX8282-A01.pdf. Impressive feeding MIPI DSI into an LVDS interface :-( HX8696-A is just an LCD Gate Driver, so not of interest.
@6by9 Thanks for you time! I didn't try it just yet, but I’m hopeful it’ll work
Hello @6by9 ,
First I download the tree that you modified, then I compiled the vc4.ko module, and replaced the new module with the old one, but nothing changed.
Then, since you said that the panel driver requests to drive the display in sync event mode, I modified the driver to request sync pulse mode dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_LPM; but also nothing changed, the screen is still blacked out.
could it be that I am doing something wrong while loading the new vc4.ko? which I don't think this can be the case but I added some printk function in the new vc4_dsi.c but none of these logs were found in dmesg or journalctl
Also the LCD that im using is not ronbo, it is AD070IP532NG06-A, but its very similar ronbo panel, It uses EK79007 display IC, which should support:
- Non-Burst Mode with Sync Pulses
- Non-Burst Mode with Sync Event
- Brust Mode
Thanks in Advance!