mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-05 04:36:13 +02:00
xilinx: versal-net: Handle spi seq number based on boot device
Versal NET boards has QSPI and OSPI and default bus set to 0 is not working when system is booting out of OSPI which is controller 1, as fixed aliases are set for all the boards i.e., QSPI to 0 and OSPI to 1. Add controller autodetection via spi_get_env_dev(). Signed-off-by: Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com> Link: https://lore.kernel.org/r/20240614124811.22945-3-venkatesh.abbarapu@amd.com Signed-off-by: Michal Simek <michal.simek@amd.com>
This commit is contained in:
parent
7d84ad1da0
commit
83cb220d47
@ -193,6 +193,51 @@ static u8 versal_net_get_bootmode(void)
|
||||
return bootmode;
|
||||
}
|
||||
|
||||
int spi_get_env_dev(void)
|
||||
{
|
||||
struct udevice *dev;
|
||||
const char *mode = NULL;
|
||||
int bootseq = -1;
|
||||
|
||||
switch (versal_net_get_bootmode()) {
|
||||
case QSPI_MODE_24BIT:
|
||||
puts("QSPI_MODE_24\n");
|
||||
if (uclass_get_device_by_name(UCLASS_SPI,
|
||||
"spi@f1030000", &dev)) {
|
||||
debug("QSPI driver for QSPI device is not present\n");
|
||||
break;
|
||||
}
|
||||
mode = "xspi";
|
||||
bootseq = dev_seq(dev);
|
||||
break;
|
||||
case QSPI_MODE_32BIT:
|
||||
puts("QSPI_MODE_32\n");
|
||||
if (uclass_get_device_by_name(UCLASS_SPI,
|
||||
"spi@f1030000", &dev)) {
|
||||
debug("QSPI driver for QSPI device is not present\n");
|
||||
break;
|
||||
}
|
||||
mode = "xspi";
|
||||
bootseq = dev_seq(dev);
|
||||
break;
|
||||
case OSPI_MODE:
|
||||
puts("OSPI_MODE\n");
|
||||
if (uclass_get_device_by_name(UCLASS_SPI,
|
||||
"spi@f1010000", &dev)) {
|
||||
debug("OSPI driver for OSPI device is not present\n");
|
||||
break;
|
||||
}
|
||||
mode = "xspi";
|
||||
bootseq = dev_seq(dev);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
debug("bootseq %d\n", bootseq);
|
||||
return bootseq;
|
||||
}
|
||||
|
||||
static int boot_targets_setup(void)
|
||||
{
|
||||
u8 bootmode;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user