diff options
author | Nico Huber <nico.huber@secunet.com> | 2020-01-14 15:21:45 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2024-09-30 11:01:09 +0000 |
commit | 520f20ef52fee0922d6eae491f0b929ca8598e94 (patch) | |
tree | 29ce68d0209a78bb9f62f2d86d3b67e2c287a33c /src/device | |
parent | ec7e41dd75ad11cc06a767758f1c69b8d005cc59 (diff) |
libgfxinit: Allow to configure screen rotation
This allows to configure a default screen rotation in 90-degree
steps. The framebuffer contents will then be displayed rotated,
by the same amount in the other direction; i.e. if you turn the
screen to the left, the picture has to be rotated to the right
to accommodate.
This is only supported by libgfxinit from Skylake / Apollo Lake
on (earlier GPUs didn't support the 90-degree steps anyway) and
it only works with the linear-framebuffer option.
Change-Id: Iac75cefbd34f28c55ec20ee152fe67351cc48653
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38922
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/device')
-rw-r--r-- | src/device/Kconfig | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/device/Kconfig b/src/device/Kconfig index 243e23e52a..bcff6fd8b0 100644 --- a/src/device/Kconfig +++ b/src/device/Kconfig @@ -519,6 +519,39 @@ config LINEAR_FRAMEBUFFER_MAX_HEIGHT Set the maximum height of the framebuffer. This may help with default fonts too tiny for high-resolution displays. +choice DEFAULT_SCREEN_ROTATION + prompt "Default screen orientation" + depends on LINEAR_FRAMEBUFFER && MAINBOARD_USE_LIBGFXINIT + depends on GFX_GMA_GENERATION = "Broxton" || GFX_GMA_GENERATION = "Skylake" + default DEFAULT_SCREEN_ROTATION_NONE + help + This allows to configure how the physical screen is mounted in + 90 degree steps (counter-clockwise). The framebuffer contents + will then be displayed rotated by the same amount in the other + direction; i.e. if you turn the screen to the left, the picture + has to be rotated to the right to accommodate. + +config DEFAULT_SCREEN_ROTATION_NONE + bool "Non-rotated" + +config DEFAULT_SCREEN_ROTATION_90 + bool "Rotated 90 degrees (rotate framebuffer to the right)" + +config DEFAULT_SCREEN_ROTATION_180 + bool "Rotated 180 degrees" + +config DEFAULT_SCREEN_ROTATION_270 + bool "Rotated 270 degrees (rotate framebuffer to the left)" + +endchoice + +config DEFAULT_SCREEN_ROTATION_INT + int + default 90 if DEFAULT_SCREEN_ROTATION_90 + default 180 if DEFAULT_SCREEN_ROTATION_180 + default 270 if DEFAULT_SCREEN_ROTATION_270 + default 0 + endmenu # "Display" config PCI |