This patch series introduces several improvements to the
ASPEED SPI driver, targeting better stability, compatibility
and, flexibility across multiple ASPEED platforms.
Key changes include:
* Clock selection strategy update
Improves fallback logic when timing calibration is skipped or
fails, ensuring reliable boot behavior.
* Timing calibration enhancement for AST2600
Replaces the previous "first-pass" strategy with a more robust
algorithm that selects the optimal timing point.
* Default address decoding assignment
Ensures each chip select (CS) has a valid decoding range during
probe, avoiding detection failures due to missing or incorrect
bootloader setup.
* Centralized address decoding management
Refactors the decoding logic to centrally assign address windows,
preventing improper trimming and improving layout flexibility.
* Per-platform decoding adjustment
Introduces platform-specific `adjust_window` callbacks to handle
platform specific hardware constraints for address decoding range.
* Selective memory mapping
Optimizes memory usage by mapping only the required address window
per CS to avoid exhaustion.
Chin-Ting Kuo (6):
spi: aspeed: Update clock selection strategy
spi: aspeed: Improve timing calibration algorithm for AST2600 platform
spi: aspeed: Force default address decoding range assignment for each
CS
spi: aspeed: Centralize address decoding region management
spi: aspeed: Add per-platform adjust_window callback for decoding
range
spi: aspeed: Only map necessary address window region
drivers/spi/spi-aspeed-smc.c | 644 ++++++++++++++++++++++++++---------
1 file changed, 489 insertions(+), 155 deletions(-)
--
2.34.1