1# Copyright (c) 2019, Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig NORDIC_QSPI_NOR
5	bool "QSPI NOR Flash"
6	default y
7	depends on DT_HAS_NORDIC_QSPI_NOR_ENABLED
8	select FLASH_HAS_DRIVER_ENABLED
9	select NRFX_QSPI
10	select FLASH_JESD216
11	select PINCTRL
12	help
13	  Enable support for nrfx QSPI driver with EasyDMA.
14
15if NORDIC_QSPI_NOR
16
17config NORDIC_QSPI_NOR_INIT_PRIORITY
18	int "Init priority"
19	default 41
20	help
21	  Device driver initialization priority.
22
23config NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE
24	int "Page size to use for FLASH_LAYOUT feature"
25	default 65536
26	help
27	  When CONFIG_FLASH_PAGE_LAYOUT is used this driver will support
28	  that API.  By default the page size corresponds to the block
29	  size (65536).  Other option include the sector size (4096).
30
31config NORDIC_QSPI_NOR_STACK_WRITE_BUFFER_SIZE
32	int "Size of a stack-based buffer to handle writes not supported by QSPI"
33	default 4
34	help
35	  The QSPI peripheral uses DMA and can only write data that is read
36	  from a word-aligned location in RAM. A non-zero value here enables
37	  a stack buffer to be used for any source data that does not meet
38	  these restrictions. Such data will be copied into this buffer to
39	  allow the write to proceed. Multiple transfers will be initiated
40	  if the data is larger than the configured size.
41	  Must be a multiple of 4. When set to 0, the feature is disabled.
42
43config NORDIC_QSPI_NOR_XIP
44	bool "XIP (eXecute in place)"
45	depends on SOC_NRF5340_CPUAPP
46	help
47	  Enable setting up the QSPI NOR driver to allow for execution of code
48	  stored in QSPI XIP region. Note that for this functionality to work,
49	  the QSPI NOR init priority must be set so that no XIP code in the
50	  QSPI NOR flash chip is executed until the driver has been setup.
51	  This will also disable power management for the QSPI NOR flash chip.
52
53endif # NORDIC_QSPI_NOR
54