summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/spi/ich.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/spi/ich.c b/drivers/spi/ich.c
index 95c594d539..fa05a9a6ea 100644
--- a/drivers/spi/ich.c
+++ b/drivers/spi/ich.c
@@ -370,6 +370,15 @@ void spi_init(void)
/* Disable the BIOS write protect so write commands are allowed. */
pci_read_config_byte(dev, 0xdc, &bios_cntl);
+ switch (ich_version) {
+ case 9:
+ /* Deassert SMM BIOS Write Protect Disable. */
+ bios_cntl &= ~(1 << 5);
+ break;
+
+ default:
+ break;
+ }
pci_write_config_byte(dev, 0xdc, bios_cntl | 0x1);
}
@@ -599,7 +608,7 @@ int spi_xfer(struct spi_slave *slave, const void *dout,
return -1;
if (status & SPIS_FCERR) {
- puts("ICH SPI: Transaction error\n");
+ puts("ICH SPI: Command transaction error\n");
return -1;
}
@@ -656,7 +665,7 @@ int spi_xfer(struct spi_slave *slave, const void *dout,
return -1;
if (status & SPIS_FCERR) {
- puts("ICH SPI: Transaction error\n");
+ puts("ICH SPI: Data transaction error\n");
return -1;
}