diff options
author | Dustin Harrison <dustin.harrison@sutus.com> | 2011-05-12 18:29:38 +0200 |
---|---|---|
committer | Noe Rubinstein <nrubinstein@proformatique.com> | 2011-06-23 10:38:59 +0200 |
commit | 88aae1ccf13fb79b8aa4b40a4ea3241057ccbe27 (patch) | |
tree | 8557a4ed7babaff3001eea9e3ef60a71c38b0886 /src/southbridge/intel/i3100/sata.c | |
parent | c2c3993f8044cf8a1efb44c874429186ccad9298 (diff) |
Fix AHCI SATA support on Truxton (and for all EP80579 chips) and enable AHCI.
Signed-off-by: Dustin Harrison <dustin.harrison@sutus.com>
---
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); |