AnsweredAssumed Answered

Need to change the screen to portrait mode

Question asked by Soma shekar on May 7, 2014
Latest reply on Jun 30, 2014 by Soma shekar

Hi...

 

  I am using i.mx6q processor based hardware platform with kernel version linux-3.0.35-2666-gbdde708(i.

mx6qsabresd).

  My requirement is to change the screen mode from landscape to portrait.

  I have tried following options to change the screen mode, but nothings seems to be working.

  1. echo 0 > /sys/class/graphics/fb0/rotate
      No change in the screen mode.

  2 echo 1 > /sys/class/graphics/fb0/rotate
     Could able to see the inverted screen.

  3. echo 2 > /sys/class/graphics/fb0/rotate
      Actual screen no change.

  4. echo N > /sys/class/graphics/fb0/rotate  N 3,4,5,6,7
      Screen blanks out.

In driver file i found following lines of code (drivers/video/mxc/mxc_ipuv3_fb.c)

static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
{
...
...
   if (var->rotate > IPU_ROTATE_VERT_FLIP)
         {
               var->rotate = IPU_ROTATE_NONE;

         }
...
..
}

 

The ipu_rotate_mode enumeration variable has following options which seems to be not used.

enum ipu_rotate_mode {

         /* Note the enum values correspond to BAM value */

         IPU_ROTATE_NONE = 0,

         IPU_ROTATE_VERT_FLIP = 1,

         IPU_ROTATE_HORIZ_FLIP = 2,

         IPU_ROTATE_180 = 3,

         IPU_ROTATE_90_RIGHT = 4,

         IPU_ROTATE_90_RIGHT_VFLIP = 5,

         IPU_ROTATE_90_RIGHT_HFLIP = 6,

         IPU_ROTATE_90_LEFT = 7,

};

 

I even tried by commenting the   "var->rotate = IPU_ROTATE_NONE;" loc in  mxcfb_check_var() function, but for the options

  IPU_ROTATE_90_RIGHT = 4,

  IPU_ROTATE_90_RIGHT_VFLIP = 5,

  IPU_ROTATE_90_RIGHT_HFLIP = 6,

  IPU_ROTATE_90_LEFT = 7,

screen turns blank.

 

Any suggestion on how to tackle this issue?

 

Regards,
Somashekar

Outcomes