zephyr/modules/lvgl/Kconfig.memory
Fabian Blatz 23431193ef modules: lvgl: Update gluecode to v9.2
This patch updates the module gluecode to be compatible with LVGL version
9.2. This includes changes done to display and input driver initialization
  and draw buffer handling.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-01-04 14:17:10 +01:00

127 lines
3.6 KiB
Plaintext

# Copyright (c) 2018-2019 Jan Van Winkel <jan.van_winkel@dxplore.eu>
# Copyright (c) 2020 Teslabs Engineering S.L.
# SPDX-License-Identifier: Apache-2.0
menu "Memory manager settings"
config LV_Z_BITS_PER_PIXEL
int "Bits per pixel"
default 32
default 32 if LV_COLOR_DEPTH_32
default 24 if LV_COLOR_DEPTH_24
default 16 if LV_COLOR_DEPTH_16
default 8 if LV_COLOR_DEPTH_8
default 1 if LV_COLOR_DEPTH_1
range 1 32
help
Number of bits per pixel.
choice LV_Z_MEMORY_POOL
prompt "Memory pool"
default LV_Z_MEM_POOL_SYS_HEAP
help
Memory pool to use for lvgl allocated objects
config LV_Z_MEM_POOL_HEAP_LIB_C
bool "C library Heap"
depends on !MINIMAL_LIBC || (COMMON_LIBC_MALLOC_ARENA_SIZE != 0)
help
Use C library malloc and free to allocate objects on the C library heap
config LV_Z_MEM_POOL_SYS_HEAP
bool "User space lvgl pool"
select SYS_HEAP_INFO
help
Use a dedicated memory pool from a private sys heap.
endchoice
config LV_Z_MEM_POOL_SIZE
int "Memory pool size"
default 2048
depends on LV_Z_MEM_POOL_SYS_HEAP
help
Size of the memory pool in bytes
config LV_Z_MEMORY_POOL_CUSTOM_SECTION
bool "Link memory pool to custom section"
depends on LV_Z_MEM_POOL_SYS_HEAP
help
Place LVGL memory pool in custom section, with tag ".lvgl_heap".
This can be used by custom linker scripts to relocate the LVGL
memory pool to a custom location, such as tightly coupled or
external memory.
config LV_Z_VDB_SIZE
int "Rendering buffer size"
default 100 if LV_Z_FULL_REFRESH
default 10
range 1 100
help
Size of the buffer used for rendering screen content as a percentage
of total display size.
config LV_Z_DOUBLE_VDB
bool "Use two rendering buffers"
help
Use two buffers to render and flush data in parallel
config LV_Z_FULL_REFRESH
bool "Force full refresh mode"
help
Force full refresh of display on update. When combined with
LV_Z_VDB_SIZE, this setting can improve performance for display
controllers that require a framebuffer to be present in system memory,
since the controller can render the LVGL framebuffer directly
config LV_Z_VDB_ALIGN
int "Rending buffer alignment"
default 4
depends on LV_Z_BUFFER_ALLOC_STATIC
help
Rendering buffer alignment. Depending on chosen color depth,
buffer may be accessed as a uint8_t *, uint16_t *, or uint32_t *,
so buffer must be aligned to prevent unaligned memory access
config LV_Z_VBD_CUSTOM_SECTION
bool "Link rendering buffers to custom section"
depends on LV_Z_BUFFER_ALLOC_STATIC
help
Place LVGL rendering buffers in custom section, with tag ".lvgl_buf".
This can be used by custom linker scripts to relocate the LVGL
rendering buffers to a custom location, such as tightly coupled or
external memory.
config LV_Z_MONOCHROME_CONVERSION_BUFFER
bool "Use intermediate conversion buffer for monochrome displays"
default y
help
When using a monochrome display an intermediate buffer with LV_Z_VDB_SIZE
is needed to perform the conversion.
choice LV_Z_RENDERING_BUFFER_ALLOCATION
prompt "Rendering Buffer Allocation"
default LV_Z_BUFFER_ALLOC_STATIC
help
Type of allocation that should be used for allocating rendering buffers
config LV_Z_BUFFER_ALLOC_STATIC
bool "Static"
help
Rendering buffers are statically allocated based on the following
configuration parameters:
* Horizontal screen resolution
* Vertical screen resolution
* Rendering buffer size
* Bytes per pixel
config LV_Z_BUFFER_ALLOC_DYNAMIC
bool "Dynamic"
help
Rendering buffers are dynamically allocated based on the actual
display parameters
endchoice
endmenu