krane: rotate the console 270 degrees clockwise for landscape use
The BOE TV101WUM-NL6 panel is mounted rotated 270 degrees in the krane chassis (rotation property on the panel node in the upstream DT). With the keyboard attached the tablet is used in landscape, so set video rot=1 and enable CONFIG_CONSOLE_ROTATION: the uclass then binds the rotated vidconsole1 driver, which writes glyphs rotated by 90 degrees clockwise into the native 1200x1920 portrait scanout and uses the swapped console geometry (240 columns x 75 rows). The framebuffer geometry and the depthcharge scanout path are unchanged; only the console text placement rotates.
This commit is contained in:
@@ -68,6 +68,7 @@ CONFIG_VIDEO_MT8183_SCANOUT=y
|
||||
CONFIG_MMC_MTK=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_PHY_MTK_TPHY=y
|
||||
CONFIG_CONSOLE_ROTATION=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
|
||||
@@ -204,6 +204,19 @@ static int mt8183_scanout_probe(struct udevice *dev)
|
||||
uc_priv->ysize = fb.y_resolution;
|
||||
uc_priv->line_length = fb.bytes_per_line;
|
||||
|
||||
/*
|
||||
* The BOE TV101WUM-NL6 panel is mounted rotated 270 degrees in
|
||||
* the krane chassis (see the panel node's "rotation" property in
|
||||
* the upstream DT). The keyboard-covered landscape orientation
|
||||
* therefore needs the console rotated; the uclass then binds the
|
||||
* rotated vidconsole3 text driver, which writes glyphs rotated
|
||||
* by 270 degrees clockwise into the native 1200x1920 portrait
|
||||
* scanout and swaps the console geometry (240x75 columns/rows
|
||||
* on this panel). rot=1 (90 degrees) was tried first and read
|
||||
* upside down on the device (R35).
|
||||
*/
|
||||
uc_priv->rot = 3;
|
||||
|
||||
printf("Video: MT8183 scanout %dx%d@32bpp at %llx\n",
|
||||
uc_priv->xsize, uc_priv->ysize, (unsigned long long)plat->base);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user