Commit 726eb0a2 authored by Swift Tian's avatar Swift Tian Committed by Benjamin Cabé
Browse files

drivers: mspi: add apollo5x MSPI controller

Add the MSPI controller support for apollo5x.
Add the MSPI controller to mspi API test.
Updated west.yml for hal updates.

Signed-off-by: default avatarSwift Tian <swift.tian@ambiq.com>
parent f7a8d069
Loading
Loading
Loading
Loading
+7 −0
Changes for boards/ambiq/apollo510_evb/Kconfig.defconfig: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -12,4 +12,11 @@ config LOG_BACKEND_SWO_FREQ_HZ
	default 1000000
	depends on LOG_BACKEND_SWO

if MSPI

config MSPI_INIT_PRIORITY
	default 40

endif # MSPI

endif # BOARD_APOLLO510_EVB
+1 −1
Changes for drivers/flash/Kconfig.mspi: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ config FLASH_MSPI_ATXP032
	select FLASH_HAS_PAGE_LAYOUT
	select FLASH_HAS_EXPLICIT_ERASE
	select FLASH_JESD216
	select MSPI_AMBIQ_AP3 if SOC_SERIES_APOLLO3X
	select MSPI_AMBIQ_CONTROLLER if SOC_FAMILY_AMBIQ

menuconfig FLASH_MSPI_NOR
	bool "Generic MSPI NOR Flash"
+1 −1
Changes for drivers/memc/Kconfig.mspi: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -14,6 +14,6 @@ config MEMC_MSPI_APS6404L
	default y
	depends on DT_HAS_MSPI_APS6404L_ENABLED
	select MEMC_MSPI
	select MSPI_AMBIQ_AP3 if SOC_SERIES_APOLLO3X
	select MSPI_AMBIQ_CONTROLLER if SOC_FAMILY_AMBIQ

endmenu
+1 −0
Changes for drivers/mspi/CMakeLists.txt: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,5 +4,6 @@ zephyr_syscall_header(${ZEPHYR_BASE}/include/zephyr/drivers/mspi.h)

zephyr_library()
zephyr_library_sources_ifdef(CONFIG_MSPI_AMBIQ_AP3   mspi_ambiq_ap3.c)
zephyr_library_sources_ifdef(CONFIG_MSPI_AMBIQ_AP5   mspi_ambiq_ap5.c)
zephyr_library_sources_ifdef(CONFIG_MSPI_DW          mspi_dw.c)
zephyr_library_sources_ifdef(CONFIG_MSPI_EMUL        mspi_emul.c)
+31 −10
Changes for drivers/mspi/Kconfig.ambiq: 31 added lines, 10 removed lines.
Original line number Diff line number Diff line
# Copyright (c) 2024, Ambiq Micro Inc. <www.ambiq.com>
# Copyright (c) 2025, Ambiq Micro Inc. <www.ambiq.com>
# SPDX-License-Identifier: Apache-2.0

config MSPI_AMBIQ_AP3
	bool "Ambiq Apollo3 series MSPI driver"
	default y
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 MSPI_XIP
	select MSPI_SCRAMBLE
	select MSPI_TIMING
	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"
	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"
	int "Byte alignment of the MSPI buffer"
	default 8 if MSPI_AMBIQ_AP3
	default 4
	default SOC_AMBIQ_DMA_BUFF_ALIGNMENT if SOC_SERIES_APOLLO5X
	help
	  This option specifies the mspi buffer alignment

endif # MSPI_AMBIQ_CONTROLLER
Loading