summaryrefslogtreecommitdiff
path: root/src/southbridge/intel/i3100/sata.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/intel/i3100/sata.c')
-rw-r--r--src/southbridge/intel/i3100/sata.c10
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);