soc/intel/skylake: Enable SATA ports

The current implementation is incorrect and is
actually disabling the ports.  Fixes that.

BUG=b:37486021, b:35775024
BRANCH=None
TEST=reboot and ensure that we can boot from
     SATA SSD.

Change-Id: I8525f6f5ddfdf61c564febd86b1ba2e01c22d9e5
Signed-off-by: Shelley Chen <shchen@chromium.org>
Reviewed-on: https://review.coreboot.org/19553
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Shelley Chen 2017-05-03 11:24:22 -07:00 committed by Martin Roth
parent f49785e8e2
commit d44d028050

View file

@ -40,14 +40,16 @@ static void *get_ahci_bar(void)
static void sata_final(device_t dev)
{
void *ahcibar = get_ahci_bar();
u8 port_impl;
u32 port_impl, temp;
dev = PCH_DEV_SATA;
/* Read Ports Implemented (GHC_PI) */
port_impl = read32(ahcibar + 0x0c);
port_impl = ~port_impl & 0x07;
port_impl = read32(ahcibar + 0x0c) & 0x07;
/* Port enable */
pci_write_config8(dev, 0x92, port_impl);
temp = pci_read_config32(dev, 0x92);
temp |= port_impl;
pci_write_config32(dev, 0x92, temp);
}
static struct device_operations sata_ops = {