1# Copyright 2020-2023 NXP
2# Copyright (c) 2021 Basalte bv
3# Copyright (c) 2023, ithinx GmbH
4# Copyright (c) 2023, Tonies GmbH
5# SPDX-License-Identifier: Apache-2.0
6
7if DT_HAS_NXP_IMX_FLEXSPI_ENABLED
8
9config MEMC_MCUX_FLEXSPI_W956A8MBYA
10	bool "MCUX FlexSPI Winbond W956A8MBYA HyperRAM driver"
11	default y
12	depends on DT_HAS_NXP_IMX_FLEXSPI_W956A8MBYA_ENABLED
13	select MEMC_MCUX_FLEXSPI
14
15config MEMC_MCUX_FLEXSPI_S27KS0641
16	bool "MCUX FlexSPI Cypress S27KS0641 HyperRAM driver"
17	default y
18	depends on DT_HAS_NXP_IMX_FLEXSPI_S27KS0641_ENABLED
19	select MEMC_MCUX_FLEXSPI
20
21config MEMC_MCUX_FLEXSPI_APS6408L
22	bool "MCUX FlexSPI AP Memory APS6408L pSRAM driver"
23	default y
24	depends on DT_HAS_NXP_IMX_FLEXSPI_APS6408L_ENABLED
25	select MEMC_MCUX_FLEXSPI
26
27config MEMC_MCUX_FLEXSPI_IS66WVQ8M4
28	bool "MCUX FlexSPI ISSI IS66WVQ8M4 pSRAM driver"
29	default y
30	depends on DT_HAS_NXP_IMX_FLEXSPI_IS66WVQ8M4_ENABLED
31	select MEMC_MCUX_FLEXSPI
32
33config MEMC_MCUX_FLEXSPI_APS6404L
34	bool "MCUX FlexSPI AP Memory APS6404L pSRAM driver"
35	default y
36	depends on DT_HAS_NXP_IMX_FLEXSPI_APS6404L_ENABLED
37	select MEMC_MCUX_FLEXSPI
38
39config MEMC_MCUX_FLEXSPI_INIT_PRIORITY
40	int "MCUX FLEXSPI MEMC driver initialization priority"
41	default MEMC_INIT_PRIORITY
42	help
43	  Initialization priority for FlexSPI MEMC driver. In cases where the
44	  flash driver must initialize before the MEMC RAM driver,
45	  initialization priorities can be set such that
46	  MEMC_MCUX_FLEXSPI_INIT_PRIORITY < FLASH_INIT_PRIORITY <
47	  MEMC_INIT_PRIORITY
48
49config MEMC_MCUX_FLEXSPI_INIT_XIP
50	bool "Initialize FLEXSPI when using device for XIP"
51	help
52	  Initialize the FLEXSPI device even when using it for XIP. If this
53	  Kconfig is enabled, the user must ensure that the pin control
54	  state used does not reconfigure the pins used to interface with
55	  the flash device used for XIP, and that the configuration settings
56	  used for the FLEXSPI are compatible with those needed for XIP from
57	  the flash device.
58
59config MEMC_MCUX_FLEXSPI
60	bool
61	select PINCTRL
62
63# Avoid RWW hazards by defaulting logging to disabled
64choice MEMC_LOG_LEVEL_CHOICE
65	default MEMC_LOG_LEVEL_OFF if FLASH_MCUX_FLEXSPI_XIP
66endchoice
67
68endif # DT_HAS_NXP_IMX_FLEXSPI_ENABLED
69
70
71if DT_HAS_NXP_FLEXRAM_ENABLED
72
73config MEMC_NXP_FLEXRAM
74	bool
75	default y
76
77config MEMC_NXP_FLEXRAM_MAGIC_ADDR_API
78	bool "NXP FlexRAM magic addr API"
79	help
80	  Enable API to use flexRAM magic address functionality
81
82config MEMC_NXP_FLEXRAM_ERROR_INTERRUPT
83	bool "NXP FlexRAM error interrupt"
84	help
85	  Allow flexram to generate error interrupts
86
87endif # DT_HAS_NXP_FLEXRAM_ENABLED
88