1 1
Myy

HDMI frequencies in the DTS file

Recommended Posts

I've adapted a set of patches from Urja Rannikko, which move the HDMI frequencies definition into the DTS file, with some preconfigured rates if none are defined in the DTS.

 

The original patches set is here : https://www.spinics.net/lists/arm-kernel/msg673156.html

The big patch I used as a basis is here : https://github.com/urjaman/arch-c201/blob/master/linux-c201/0020-RK3288-HDMI-clock-hacks-combined.patch

I included these patches by splitting them again : https://github.com/Miouyouyou/RockMyy/commit/57ff073fffb5678e75959e566704376f6f52ac17

 

These patches were suggested to me here : https://github.com/Miouyouyou/RockMyy/issues/3

 

Anyway, after some quick tests, these patches remove the dreaded bar of purple pixels at the left of my HDMI screen, when plugged to Tinkerboard systems and MiQi systems. Note that these bars only appear on my screen when using "good" (enough) USB power supply.

Still, with these patches, they are gone. However... I only tested these patches on my 60Hz 1080p screen, which is pretty much the de-facto standard screen.

I'd like to see people test these patches on other HDMI configurations which are known to have some issues with Tinkerboard, MiQi and others RK3288 systems.

 

So, yeah, if you'd like to test some kernel patches and are not afraid to see your screen go black after a reboot, have a try.

 

Note : This is completely unrelated with the CEC issue.

Share this post


Link to post
Share on other sites

Took the 6 .patch files and dropped them as-is into patch/kernel/rockchip-dev directory. Compiled a new Bionic image with 4.18.11 kernel, burnt the image on a SDcard and here it is, everything seems perfect to me.

My panel is 1920x1080 60hz and works flawlessy, but also tried lower resolutions (1280x1024, 1280x720, 1024x768, 800x600) via xrandr and all of them worked fine. The purple line never appeared and the monitor never complain.

 

HDMI sound also works fine, except for the fact that it works every other time I switch the resolution, but I think this is another issue.

Patches were applied correctly with no errors to the 4.18.11 kernel, but they didn't make it into mainline 4.14. Did not try at all on legacy 4.4

 

dmesg log is uploaded here (but I guess there's nothing interesting in there)

 

edit: I think I talked too early, after turning the monitor off and on the purple line was there. Should I also try by copying the frequency table and other bits from the veyron DTS?

Share this post


Link to post
Share on other sites

Yeah, the dreaded purple line appeared on my screen too. I jumped the gun. It only disappear on the second reboot, whether the patch is applied or not.

 

If you can try with the HDMI frequencies defined in the DTS file and see it it doesn't break everything, I'd like to get some feedback, indeed.

Be careful though, you might have to SSH or Serial back on your machine to replace the current DTS file, if the frequencies generate blackout issues with the screen.

Share this post


Link to post
Share on other sites

I changed my device tree to add HDMI frequencies and other things exactly as described in rk3288-veyron-chromebook.dtsi. The result is that the device boots and HDMI seems fine. Again changing resolutions via xrandr works and all resolutions I tried worked (1920x1080, 1280x720, 800x600, 1680x1050) but sometimes the purple line is still there. Also it seems that the purple line appears much often when I physically turn the monitor off and on than when I change resolution via xrandr.

Also when the purple line is there, HDMI audio does not work.

The fact that HDMI audio goes away and gets back once in a couple times makes me think about a flag that does not reset or so... <_<

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
1 1