cm-fx6 LCD rotate 90 degree

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

cm-fx6 LCD rotate 90 degree

1,692 Views
vladislavkaluts
Contributor II

Hello everybody

I have the problem with /dev/fb0 rotation:

I found following:

1) in kernel source, file drivers/video/mxc/mxc_ipuv3_fb.c, line 894:

if (var->rotate > IPU_ROTATE_VERT_FLIP)

var->rotate = IPU_ROTATE_NONE;

it does not allow to set rotation for fbN more than 1 (90 degrees >3)

2) I changed it to:

if (var->rotate > IPU_ROTATE_90_LEFT)

var->rotate = IPU_ROTATE_NONE;

3) I tried to set /sys/class/graphics/fb0/rotate to 4 and system returned an error:

imx-ipuv3 imx-ipuv3.0: IPU Warning - IPU_INT_STAT_10 = 0x00080000

Regarding IMX6DQRM.pdf it means:

DI0 Synchronous display error interrupt

This bit indicates on the interrupt that is a result of an error during access to a synchronous display via DI0

Anybody faced it? Any suggestions how to solve it?

Labels (3)
0 Kudos
6 Replies

929 Views
chandrasekharma
Contributor III

root@sabresd_6dq:/ # export DISPLAY=:0.0
root@sabresd_6dq:/ # xrandr
/system/bin/sh: xrandr: not found
127|root@sabresd_6dq:/ # xrandr left
/system/bin/sh: xrandr: not found

Please help to execute command xrandr in freescale board imx6 having 3.10.53 linux kernel

0 Kudos

929 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vladislav

this error bit is set when there's an error, usually as result of data starvation when

data that should be sent to display is not available in IPUs internal

FIFO. Most probable cause for this issue is huge load on the DDR memory bus.

One can try to decrease LCD frame rate/resolution or tweak GPR IPU QoS settings

via IOMUXC_GPR6,7

Rotate the 3.5 inch LCD screen to 180 degree

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos

929 Views
vladislavkaluts
Contributor II

I tried with lower resolution:

480x272x2(16-bit)*60(fps) = 15.667.200B/s, the issue has remained.

I checked IOMUXC_GPR6 (use IPU1), the value is set to 0x007f007f.

Please tell me what else I could check.

Best Regards,

Vlad.

0 Kudos

929 Views
igorpadykov
NXP Employee
NXP Employee

Hi Vladislav

also one can look at attached document sect.6.2 XRandR

Best regards

igor

0 Kudos

929 Views
vladislavkaluts
Contributor II

Thank you for answer.

Unforегtunatelly we are not using any X Window System. We are writing direct to framebuffer.

Thank you,

Vlad.

0 Kudos

929 Views
vladislavkaluts
Contributor II

Hello Igor,

Regarding "huge load on the DDR" there is simple math:

480*800*4(32-bit)*60 = 92.160.000 Bytes/second.

Is it huge amount?

Could you tell where I can get more detailed manual about tweaking GPR IPU QoS?

Rotate the 3.5 inch LCD screen to 180 degree

Is not working in my case.

Thank you for your answer,

Best Regards,

Vlad.

0 Kudos