1# Copyright 2023 NXP
2# SPDX-License-Identifier: Apache-2.0
3
4
5menuconfig DISPLAY_MCUX_DCNANO_LCDIF
6	bool "MCUX DCNano LCDIF driver"
7	default y
8	depends on DT_HAS_NXP_DCNANO_LCDIF_ENABLED
9	help
10	  Enable support for mcux DCNano LCDIF driver.
11
12
13if DISPLAY_MCUX_DCNANO_LCDIF
14
15config MCUX_DCNANO_LCDIF_FB_NUM
16	int "Framebuffers to allocate in driver"
17	default 1
18	range 0 2
19	help
20	  Number of framebuffers to allocate in DCNANO driver. Driver allocated
21	  framebuffers are required to support partial display updates.
22	  The driver has been validated to support 0 through 2 framebuffers.
23	  Note that hardware will likely perform best if zero driver
24	  framebuffers are allocated by the driver, and the application
25	  implements double framebuffering by always calling display_write with
26	  a buffer equal in size to the connected panel.
27
28
29config MCUX_DCNANO_LCDIF_MAINTAIN_CACHE
30	bool "Maintain cache coherency"
31	default y
32	help
33	  Maintain cache coherency for LCDIF framebuffer. This is generally
34	  required, unless an external framebuffer is utilized with custom
35	  caching settings, or caching is disabled.
36
37config MCUX_DCNANO_LCDIF_EXTERNAL_FB_MEM
38	bool "Use external memory for framebuffer"
39	imply MEMC
40	help
41	  Use external memory for framebuffer. Configures the LCDIF to write
42	  framebuffer data to a memory mapped external device.
43
44	  Note that no specific linker section is used for this framebuffer, so
45	  if the application uses the external memory for other purposes, care
46	  should be taken to ensure that the memory allocated for the LCDIF
47	  does not overlap with other data. Each allocated LCDIF buffer will
48	  utilize (lcd_width * lcd_height * bytes_per_pixel) bytes of data,
49	  and buffers will be allocated contiguously.
50
51if MCUX_DCNANO_LCDIF_EXTERNAL_FB_MEM
52
53config MCUX_DCNANO_LCDIF_EXTERNAL_FB_ADDR
54	hex "LCDIF framebuffer address"
55	help
56	  Address of memory mapped external framebuffer.
57	  Must be 128 byte aligned
58
59endif # MCUX_DCNANO_LCDIF_EXTERNAL_FB_MEM
60
61endif # DISPLAY_MCUX_ELCDIF
62