| # Copyright (c) 2025, Ambiq Micro Inc. <www.ambiq.com> |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config MSPI_AMBIQ_CONTROLLER |
| bool "Ambiq MSPI Controller driver" |
| depends on DT_HAS_AMBIQ_MSPI_CONTROLLER_ENABLED |
| select AMBIQ_HAL |
| select AMBIQ_HAL_USE_MSPI |
| select GPIO |
| help |
| Ambiq MSPI controller driver is enabled. |
| |
| if MSPI_AMBIQ_CONTROLLER |
| |
| config MSPI_AMBIQ_AP3 |
| bool "Ambiq Apollo3 series MSPI Controller driver" |
| default y |
| depends on SOC_SERIES_APOLLO3X |
| imply MSPI_XIP |
| imply MSPI_SCRAMBLE |
| imply MSPI_TIMING |
| help |
| Enable driver for Ambiq MSPI. |
| |
| config MSPI_AMBIQ_AP5 |
| bool "Ambiq Apollo5 series MSPI Controller driver" |
| default y |
| depends on SOC_SERIES_APOLLO5X |
| imply MSPI_XIP |
| imply MSPI_SCRAMBLE |
| imply MSPI_TIMING |
| help |
| Enable driver for Ambiq MSPI. |
| |
| config MSPI_AMBIQ_BUFF_RAM_LOCATION |
| hex "Byte offset to SRAM_BASE_ADDRESS" |
| default SOC_AMBIQ_DMA_BUFF_LOCATION if SOC_SERIES_APOLLO5X |
| default 0x50000 |
| help |
| This option specifies the mspi buffer/heap start address |
| |
| config MSPI_AMBIQ_BUFF_ALIGNMENT |
| int "Byte alignment of the MSPI buffer" |
| default 8 if MSPI_AMBIQ_AP3 |
| default SOC_AMBIQ_DMA_BUFF_ALIGNMENT if SOC_SERIES_APOLLO5X |
| help |
| This option specifies the mspi buffer alignment |
| |
| config MSPI_AMBIQ_TIMING_SCAN |
| bool "Turn on Ambiq timing scan utility" |
| depends on MSPI_TIMING |
| help |
| Enable timing scan will cost time and space during init |
| |
| if MSPI_AMBIQ_TIMING_SCAN |
| |
| config MSPI_AMBIQ_TIMING_SCAN_BUFFER_SIZE |
| int "Timing scan buffer size in bytes" |
| default 131072 |
| help |
| This option specifies the memory buffer size used for timing scan, |
| carefully adjust this size between a few KBs to hundreds of KBs to achieve |
| balance between time and accuracy |
| |
| config MSPI_AMBIQ_TIMING_SCAN_DATA_SIZE |
| int "Total data sizes in bytes used in timing scan" |
| default 131072 |
| help |
| This option specifies the total data size used in timing scan, |
| it must be divisible by MSPI_AMBIQ_TIMING_SCAN_BUFFER_SIZE |
| |
| endif # MSPI_AMBIQ_TIMING_SCAN |
| |
| endif # MSPI_AMBIQ_CONTROLLER |