Re: i.MX6 screen rotation
this sounds like you have to check your hardware and your framebuffer driver. How is the display connected to the display controller? This is may not set correctly in your framebuffer driver.The LCD is a 640x480 pixel TFT which has the NewVision NV3052C controller embedded within it into which we drive the 24bits of RGB colour data along with VSYNC, HSYNC, PIXCLK from the DISP0_DAT pins of the i.MX6.
The framebuffer device is provided by what look like Freescale additions to the kernel in drivers/video/fbdev/mxc on top of which we are using the Vivante drivers to provide OpenGL/EGL support.
The target application uses the i.MX6 Framebuffer API and OpenGL ES to render on the screen. If it isn’t possible to rotate the framebuffer itself but can get the Vivante drivers and the GPU to rotate everything then I think that may work.
 - https://nxpcommunity.force.com/sfc/servlet.shepherd/document/download/06957000004mGPSAA2?operationContext=S1