| # 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 | 
 | 	range 1 32 | 
 | 	depends on LV_Z_BUFFER_ALLOC_STATIC | 
 | 	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 || (MINIMAL_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_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. | 
 |  | 
 | 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 |