spi: ich: Don't require the PCH
When booting from coreboot we may not have a PCH driver available. The SPI driver can operate without the PCH but currently complains in this case. Update it to continue to work normally. The only missing feature is memory-mapping of SPI-flash contents, which is not essential. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
parent
f5cbb5c7cd
commit
f784361b2a
@ -114,7 +114,7 @@ static bool ich9_can_do_33mhz(struct udevice *dev)
|
|||||||
struct ich_spi_priv *priv = dev_get_priv(dev);
|
struct ich_spi_priv *priv = dev_get_priv(dev);
|
||||||
u32 fdod, speed;
|
u32 fdod, speed;
|
||||||
|
|
||||||
if (!CONFIG_IS_ENABLED(PCI))
|
if (!CONFIG_IS_ENABLED(PCI) || !priv->pch)
|
||||||
return false;
|
return false;
|
||||||
/* Observe SPI Descriptor Component Section 0 */
|
/* Observe SPI Descriptor Component Section 0 */
|
||||||
dm_pci_write_config32(priv->pch, 0xb0, 0x1000);
|
dm_pci_write_config32(priv->pch, 0xb0, 0x1000);
|
||||||
@ -632,7 +632,7 @@ static int ich_spi_get_basics(struct udevice *bus, bool can_probe,
|
|||||||
if (device_get_uclass_id(pch) != UCLASS_PCH) {
|
if (device_get_uclass_id(pch) != UCLASS_PCH) {
|
||||||
uclass_first_device(UCLASS_PCH, &pch);
|
uclass_first_device(UCLASS_PCH, &pch);
|
||||||
if (!pch)
|
if (!pch)
|
||||||
return log_msg_ret("uclass", -EPROTOTYPE);
|
; /* ignore this error since we don't need it */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user