|
|
Subscribe / Log in / New account

spi: aspeed: Improve clock, timing and address decoding logic

From:  Chin-Ting Kuo <chin-ting_kuo-AT-aspeedtech.com>
To:  <robh-AT-kernel.org>, <krzk+dt-AT-kernel.org>, <conor+dt-AT-kernel.org>, <joel-AT-jms.id.au>, <andrew-AT-codeconstruct.com.au>, <clg-AT-kaod.org>, <broonie-AT-kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-arm-kernel-AT-lists.infradead.org>, <linux-aspeed-AT-lists.ozlabs.org>, <linux-kernel-AT-vger.kernel.org>, <openbmc-AT-lists.ozlabs.org>, <linux-spi-AT-vger.kernel.org>, <BMC-SW-AT-aspeedtech.com>
Subject:  [PATCH 0/6] spi: aspeed: Improve clock, timing and address decoding logic
Date:  Wed, 01 Oct 2025 19:25:59 +0800
Message-ID:  <20251001112605.1130723-1-chin-ting_kuo@aspeedtech.com>
Archive-link:  Article

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




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds