2019-04-06 21:08:09 +08:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
2018-05-23 19:22:20 +08:00
|
|
|
zephyr_library()
|
2018-03-28 18:06:12 +08:00
|
|
|
|
2021-07-26 17:48:22 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_TELINK_B91 soc_flash_b91.c)
|
2018-11-12 23:36:24 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SPI_NOR spi_nor.c)
|
drivers: flash: add Nordic JEDEC QSPI NOR flash driver
Most JEDEC NOR flash devices uses not only typical SPI mode
(MISO,MOSI,SCK and CS), but also QSPI mode (IO0,IO1,IO2,IO3,SCK and CS).
QSPI mode uses more data lines and as a result provide higher
throughput. If this were not enough, Nordic chips provide
hardware acceleration for read/write/erase functions, what
gives significant performance boost.
It does a lot of things "behind the scene", i.e when user has written
some data to the flash and would like to read them back, it has to wait
until the flash is ready by reading WIP bit in Status Register.
This driver does it automatically.
Signed-off-by: Kamil Lazowski <Kamil.Lazowski@nordicsemi.no>
2019-12-19 20:33:37 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_NORDIC_QSPI_NOR nrf_qspi_nor.c)
|
2019-04-18 20:55:30 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_FLASH_SIMULATOR flash_simulator.c)
|
2020-03-11 00:57:01 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SPI_FLASH_AT45 spi_flash_at45.c)
|
2020-12-25 18:23:44 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_ITE_IT8XXX2 flash_ite_it8xxx2.c)
|
2018-03-28 18:06:12 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_NRF soc_flash_nrf.c)
|
2020-09-17 21:44:37 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_NRF_RADIO_SYNC_TICKER soc_flash_nrf_ticker.c)
|
2018-03-28 18:06:12 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_MCUX soc_flash_mcux.c)
|
2020-07-02 19:58:31 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_LPC soc_flash_lpc.c)
|
2018-03-28 18:06:12 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_FLASH_PAGE_LAYOUT flash_page_layout.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_USERSPACE flash_handlers.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_SAM0 flash_sam0.c)
|
2018-11-05 04:41:22 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_SAM flash_sam.c)
|
2018-03-28 18:06:12 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_NIOS2_QSPI soc_flash_nios2_qspi.c)
|
2018-08-07 20:11:45 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_GECKO flash_gecko.c)
|
2019-05-22 23:07:50 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_RV32M1 soc_flash_rv32m1.c)
|
2021-01-12 16:33:02 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_FLASH_STM32_QSPI flash_stm32_qspi.c)
|
2021-04-23 03:17:23 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G flash_mcux_flexspi_mx25um51345g.c)
|
2020-12-18 10:55:28 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_FLASH_MCUX_FLEXSPI_NOR flash_mcux_flexspi_nor.c)
|
2021-02-26 23:04:09 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_ESP32 flash_esp32.c)
|
2017-10-27 21:43:34 +08:00
|
|
|
|
2021-04-15 13:48:57 +08:00
|
|
|
if(CONFIG_FLASH_MCUX_FLEXSPI_XIP)
|
2021-04-23 03:17:23 +08:00
|
|
|
if(CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G)
|
|
|
|
zephyr_code_relocate(flash_mcux_flexspi_mx25um51345g.c ${CONFIG_FLASH_MCUX_FLEXSPI_XIP_MEM}_TEXT)
|
|
|
|
else()
|
|
|
|
zephyr_code_relocate(flash_mcux_flexspi_nor.c ${CONFIG_FLASH_MCUX_FLEXSPI_XIP_MEM}_TEXT)
|
|
|
|
endif()
|
2021-04-15 13:48:57 +08:00
|
|
|
endif()
|
|
|
|
|
2019-12-09 05:06:17 +08:00
|
|
|
if(CONFIG_SOC_FLASH_STM32)
|
2020-12-04 23:22:50 +08:00
|
|
|
if(CONFIG_SOC_SERIES_STM32H7X)
|
2021-08-05 05:44:07 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32H7X flash_stm32h7x.c)
|
2020-12-04 23:22:50 +08:00
|
|
|
else()
|
2021-08-05 05:44:07 +08:00
|
|
|
zephyr_library_sources(flash_stm32.c)
|
2019-02-18 19:20:31 +08:00
|
|
|
|
2021-08-05 05:44:07 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_FLASH_STM32_V1 flash_stm32_v1.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32F2X flash_stm32f2x.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32F4X flash_stm32f4x.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32F7X flash_stm32f7x.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32L4X flash_stm32l4x.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32L5X flash_stm32l5x.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32WLX flash_stm32l4x.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32WBX flash_stm32wbx.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32G0X flash_stm32g0x.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_SOC_SERIES_STM32G4X flash_stm32g4x.c)
|
2020-12-04 23:22:50 +08:00
|
|
|
endif()
|
2017-10-27 21:43:34 +08:00
|
|
|
endif()
|
|
|
|
|
2021-08-05 05:44:07 +08:00
|
|
|
zephyr_library_include_directories_ifdef(
|
2021-03-31 19:46:34 +08:00
|
|
|
CONFIG_FLASH_MCUX_FLEXSPI_NOR
|
|
|
|
${ZEPHYR_BASE}/drivers/memc
|
|
|
|
)
|
|
|
|
|
2021-08-05 05:44:07 +08:00
|
|
|
zephyr_library_include_directories_ifdef(
|
2021-04-23 03:17:23 +08:00
|
|
|
CONFIG_FLASH_MCUX_FLEXSPI_MX25UM51345G
|
|
|
|
${ZEPHYR_BASE}/drivers/memc
|
|
|
|
)
|
|
|
|
|
2021-08-05 05:44:07 +08:00
|
|
|
zephyr_library_include_directories_ifdef(
|
2020-09-17 21:44:37 +08:00
|
|
|
CONFIG_SOC_FLASH_NRF_RADIO_SYNC_TICKER
|
2018-12-17 17:46:13 +08:00
|
|
|
${ZEPHYR_BASE}/subsys/bluetooth
|
|
|
|
${ZEPHYR_BASE}/subsys/bluetooth/controller/ll_sw/nordic
|
|
|
|
)
|
2018-10-19 01:15:46 +08:00
|
|
|
|
2018-12-17 17:46:13 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_FLASH_SHELL flash_shell.c)
|
2020-05-31 05:01:55 +08:00
|
|
|
zephyr_library_sources_ifdef(CONFIG_FLASH_JESD216 jesd216.c)
|