Posts: 13
Joined: Sat Nov 14, 2015 3:45 pm
Location: Kent, England

Debug Device power management in Driver, Devicetree

Wed Aug 01, 2018 4:25 pm

I'm modifying the kernel driver drivers/gpu/drm/panel/raspberrypi-touchscreen.c to work with a different bridge chip.
Everything appears to be working, except "soemthing" is causing the power to the DSI to be removed towards the end of all the binding etc.

When I reset the R-Pi, I can see the data lane and clock pairs both pulled hard to ground. But as my driver starts up they suddenly float to a high impedance (with a very small DC voltage on them) - my 'scope probe goes from ground to showing a few millivolts of mains hum, which increases if I bring my hand hear the probe.

In desperation, I've also tried using panel-simple, hoping this would at least light up the DSI lines so that I can get on with other aspects of the project.

1) How can i debug the reason the power is apparently being 'pulled' from the DSI hardware in the SoC? What tools and techiques can be used? I;m looking at ... Lights.pdf which may give me some hints, but I'm not there yet.

2) If anyone has working examples of devicetrees which work with DSI displays in Kernel version 4.14.xx perhaps they could share them? I've tried following various examples of the web, but I think things have been changing in the way the software layers work in the last few months, so don't completely trust them.

PS: If I 'hotwire' the R-Pi to kid it that there is an official display connected it works fine with my own display hardware. Obviously when using my own devicetree I'm also using ignore_lcd=1 and disable_touchscreen=1 to prevent the firmware from breaking in on the act.

Return to “Device Tree”