diff options
| author | Chen Huei Lok <[email protected]> | 2026-02-09 16:10:07 +0800 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-04-15 13:36:44 -0600 |
| commit | 39d1a96d71f8a77d9ffd55474a317e5bc6bc230a (patch) | |
| tree | 69b31d9735855bd2f0c38e0de1372a9d6b146b80 | |
| parent | c56db9b4a4412cefd97dfa1d2517706be3507daf (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.c | 1 |
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, |
