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]> --- drivers/spi/cadence_xspi.c | 1 + 1 file changed, 1 insertion(+) 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, -- 2.19.0

