diff options
Diffstat (limited to 'src/southbridge/intel/i3100/sata.c')
-rw-r--r-- | src/southbridge/intel/i3100/sata.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/southbridge/intel/i3100/sata.c b/src/southbridge/intel/i3100/sata.c index af22600f9..edc2fe022 100644 --- a/src/southbridge/intel/i3100/sata.c +++ b/src/southbridge/intel/i3100/sata.c @@ -31,7 +31,7 @@ typedef struct southbridge_intel_i3100_config config_t; static void sata_init(struct device *dev) { - u8 ahci; + u8 ahci; /* Get the chip configuration */ ahci = (pci_read_config8(dev, SATA_MAP) >> 6) & 0x03; @@ -43,9 +43,15 @@ static void sata_init(struct device *dev) /* AHCI mode */ pci_write_config8(dev, SATA_MAP, (1 << 6) | (0 << 0)); + pci_write_config8(dev, SATA_CMD, 0x07); /* Enable ports */ - pci_write_config8(dev, SATA_PCS, 0x03); +#ifdef CONFIG_CPU_INTEL_EP80579 + pci_write_config8(dev, SATA_PCS + 1, 0x03); +#else + pci_write_config8(dev, SATA_PCS, 0x03); pci_write_config8(dev, SATA_PCS + 1, 0x0F); +#endif + pci_write_config8(dev, SATA_PCS + 2, 0x00); /* Setup timings */ pci_write_config16(dev, SATA_PTIM, 0x8000); |