DSI panel rotation bug: DT "nvidia, out-rotation" is not followed

L4T 24.2.1 64bit kernel: in display controller TEGRA_DSI there is tegra_dc_out rotation property

How to add rotation to the DSI panel if tegra_dc_out does not function?

The display is by default in portrait mode, we need to rotate it to the landscape mode

There is an example of rotation made with tegra_dc_out in mach-tegra/panel-j-720p-5.c

Can we rotate any DSI panel with DT only


or do we need other changes?

The Tegra210 DSI documentation is sparse on this question, there is a mention of it in https://github.com/arter97/android_kernel_nvidia_shieldtablet/blob/master/Documentation/devicetree/bindings/video/nvidia,tegra210-dp.txt

Also, looking at the system there is /sys/devices/platform/host1x/tegradc.0/panel_rotation but it is apparently read-only property

Hi MarMarMar,

I am investigating this issue now. Please wait.


Hi WayneWWW

Thank you for looking into this bug.

We have meanwhile also found the following:

The out-rotation property configures default_out_rotation value but there was not any rotation implementation in dc.c driver for a rotation value configured via dts.

In other words: The rotation value for dc_out configured via dts is not used anywhere for actual rotation implementation in dc

Hi WayneWWW

Are there any updates about this issue in dc.c ?

Hi MarMarMar,

Sorry for late reply. It seems that this value is dummy in L4T. The rotation should be done by using X.

Option “Rotate” “left/right/…etc” can be specified in xorg.conf.

Thank you!
We are running EGLFS system with no X server so XRandr extensions are not an option.

For anyone else having this issue: it might be less time consuming to do rotation in EGL / userspace as we have now done.