summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Huei Lok <[email protected]>2026-02-09 16:10:07 +0800
committerTom Rini <[email protected]>2026-04-15 13:36:44 -0600
commit39d1a96d71f8a77d9ffd55474a317e5bc6bc230a (patch)
tree69b31d9735855bd2f0c38e0de1372a9d6b146b80
parentc56db9b4a4412cefd97dfa1d2517706be3507daf (diff)
spi: cadence_xspi: enable automatic platform data allocation
Enable automatic allocation of platform data for the Cadence XSPI controller by setting .plat_auto. Without this, dev_get_plat() may return invalid or uninitialized platform data when multiple XSPI controllers are present, leading to incorrect IOBASE/SDMABASE/AUXBASE values and causing SPI flash probe failures. Setting .plat_auto ensures each controller instance receives a properly sized cdns_xspi_plat structure, allowing SF probe to work correctly. Tested on an Altera Simics platform with multiple XSPI controllers. Signed-off-by: Chen Huei Lok <[email protected]>
-rw-r--r--drivers/spi/cadence_xspi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/spi/cadence_xspi.c b/drivers/spi/cadence_xspi.c
index 717f226b709..8a894025d02 100644
--- a/drivers/spi/cadence_xspi.c
+++ b/drivers/spi/cadence_xspi.c
@@ -441,6 +441,7 @@ static const struct udevice_id cdns_xspi_of_match[] = {
U_BOOT_DRIVER(cadence_xspi) = {
.name = CDNS_XSPI_NAME,
.id = UCLASS_SPI,
+ .plat_auto = sizeof(struct cdns_xspi_plat),
.of_match = cdns_xspi_of_match,
.ops = &cdns_xspi_ops,
.probe = cdns_xspi_probe,