Skip to content
New issue

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

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

Already on GitHub? # to your account

SPI Engine: simplify interconnect #1502

Merged
merged 2 commits into from
Mar 27, 2025
Merged

SPI Engine: simplify interconnect #1502

merged 2 commits into from
Mar 27, 2025

Conversation

LBFFilho
Copy link
Contributor

@LBFFilho LBFFilho commented Oct 31, 2024

PR Description

Simplifies the interconnect logic, which is now just a set of muxes controlled by a signal from the offload module.
This makes the SYNC instructions optional, and reduces the trigger to first instruction latency.

Since it acts as a substitute for the offload module, axi_ad5766 had to be updated as well in order for it to provide the same interconnect control signal.
(This PR should be merged after #1501)

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the code style guidelines
  • I have performed a self-review of changes
  • I have compiled all hdl projects and libraries affected by this PR
  • I have tested in hardware affected projects, at least on relevant boards
  • I have commented my code, at least hard-to-understand parts
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
  • I have not introduced new Warnings/Critical Warnings on compilation
  • I have added new hdl testbenches or updated existing ones

@LBFFilho LBFFilho requested a review from sarpadi October 31, 2024 17:05
@LBFFilho LBFFilho force-pushed the spi_simple_interconnect branch 4 times, most recently from 555ec30 to 828c295 Compare November 1, 2024 18:49
@LBFFilho LBFFilho force-pushed the spi_simple_interconnect branch from 828c295 to 491e2fd Compare November 12, 2024 16:39
@LBFFilho LBFFilho force-pushed the spi_simple_interconnect branch from 491e2fd to 0d23a2e Compare December 20, 2024 13:28
@LBFFilho
Copy link
Contributor Author

Tested with AD4052

@LBFFilho LBFFilho force-pushed the spi_simple_interconnect branch from 0d23a2e to 79cd8ea Compare January 23, 2025 12:27
@LBFFilho LBFFilho force-pushed the spi_simple_interconnect branch 3 times, most recently from e04ecac to f5ca16a Compare January 31, 2025 19:32
@LBFFilho LBFFilho marked this pull request as ready for review January 31, 2025 19:33
@LBFFilho LBFFilho force-pushed the spi_simple_interconnect branch from f5ca16a to fd68eac Compare March 7, 2025 19:38
@LBFFilho
Copy link
Contributor Author

LBFFilho commented Mar 7, 2025

Updated for better timing, now to be merged after #1595

Make the interconnect use an external signal for switching between
sources, so it becomes just a collection of muxes, reducing latency.
This signal is generated based on the software-controlled offload
enable, but is sourced from the offload module to avoid unnecessary
CDCs.

This commit makes the use of SYNC optional, unless the active signal
from spi_engine_execution is needed.

Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
Signed-off-by: Laez Barbosa <laez.barbosa@analog.com>
@LBFFilho LBFFilho force-pushed the spi_simple_interconnect branch from fd68eac to dfdd65e Compare March 12, 2025 17:10
@LBFFilho LBFFilho merged commit 24f2454 into main Mar 27, 2025
3 of 5 checks passed
@LBFFilho LBFFilho deleted the spi_simple_interconnect branch March 27, 2025 13:00
dlech added a commit to dlech/adi-hdl that referenced this pull request Mar 31, 2025
Commit 24f2454 ("SPI Engine: simplify interconnect (analogdevicesinc#1502)") bumped the patch version in
the documentation but missed changing it in PCORE_VERSION which is the value used by the
version register.

Signed-off-by: David Lechner <dlechner@baylibre.com>
dlech added a commit to dlech/adi-hdl that referenced this pull request Mar 31, 2025
Commit 24f2454 ("SPI Engine: simplify interconnect (analogdevicesinc#1502)") made it so that the SYNC
command is no longer required. This is actually a "feature" we want to test for. So that
commit should have bumped the minor version instead of the patch version. Bump the version
now so that we can test for this feature in the software driver.

Signed-off-by: David Lechner <dlechner@baylibre.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants