diff --git a/configs/mt8183_kukui_krane_defconfig b/configs/mt8183_kukui_krane_defconfig index 8c76f5ad6c9..f14aa5d5cf3 100644 --- a/configs/mt8183_kukui_krane_defconfig +++ b/configs/mt8183_kukui_krane_defconfig @@ -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 diff --git a/drivers/video/mt8183_scanout.c b/drivers/video/mt8183_scanout.c index dc342b93e2c..78a3b763754 100644 --- a/drivers/video/mt8183_scanout.c +++ b/drivers/video/mt8183_scanout.c @@ -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);