Skip to content

Add Apollo510 MSPI support Part 1 #89060

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

swift-tk
Copy link
Collaborator

  1. misc fixes for ATXP032 and APS6404L driver from previous PR.
  2. Add apollo510 MSPI controller driver

The Apollo510 MSPI controller supports the following:

  • 2x HexSPI speed controllers (MSPI0 and MSPI3)

    • 1/2/4/8/16-bit SPI interface (2x controllers)
    • Up to 125MHz* interface clock (250MT/s in DDR mode)
    • SDR/DDR modes
    • Interoperability with JESD-251 rev C- compliant devices
    • Supporting up to 256MB devices on MSPI0, and 128MB devices on MSPI3
  • 2x OctalSPI controllers (MSPI1 and MSPI2)

    • 1/2/4/8-bit SPI interface
    • Up to 96MHz interface clock (96MT/s)
    • SDR/DDR modes
    • Supporting up to 64MB devices
  • XiP supported

  • DMA with peripheral-to-memory and peripheral-to-peripheral support

  • Command Queue Support

The buf_in_nocache function is to be used by various device drivers
to check if buffer is in noncacheable region.
The cacheable DMA buffer shall be put into section .ambiq_dma_buff
due to certain restrictions of the SoC.

Signed-off-by: Swift Tian <[email protected]>
Standarlized transfer priority and add a medium level.

Signed-off-by: Swift Tian <[email protected]>
1. Moved ambiq specific macro to mspi_ambiq header.
2. Always fill rx&tx dummy settings regardless of transfer direction.
3. Add the CONFIG_MSPI_* macro for optional features.
4. Fixed the ID read process and add k_sleep during busy_wait in
   atxp032 driver.

Signed-off-by: Swift Tian <[email protected]>
Add the binding properties available to apollo5.

Signed-off-by: Swift Tian <[email protected]>
MSPI controller nodes and corresponding XIP regions are added.

Signed-off-by: Swift Tian <[email protected]>
Add mspi to board devicetree including pinctrl and mspi devices.

Signed-off-by: Swift Tian <[email protected]>
Add the MSPI controller support for apollo5x.
Add the MSPI controller to mspi API test.
Updated west.yml for hal updates.

Signed-off-by: Swift Tian <[email protected]>
Copy link

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
hal_ambiq zephyrproject-rtos/hal_ambiq@e916e84 zephyrproject-rtos/hal_ambiq@9df2220 zephyrproject-rtos/[email protected]

All manifest checks OK

Note: This message is automatically posted and updated by the Manifest GitHub Action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant