summaryrefslogtreecommitdiff
path: root/src/southbridge/nvidia/ck804
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineeringinc.com>2015-01-26 02:15:57 -0600
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2015-01-28 19:03:39 +0100
commit02112bd280b3dbf5f5950e3a6e0c1ad83e8a8cc1 (patch)
treeed4e7c25f70acbe1e6b268a97677cc0013cec121 /src/southbridge/nvidia/ck804
parent684fda596491117bc97ce2d23d77b917a243f771 (diff)
downloadcoreboot-02112bd280b3dbf5f5950e3a6e0c1ad83e8a8cc1.tar.xz
nvidia/ck804: Add ability to enable/disable PCIe PME# wake events
Change-Id: Ie2937dd220464e3b168aa8a50a57c03b6258c189 Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com> Reviewed-on: http://review.coreboot.org/8283 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Diffstat (limited to 'src/southbridge/nvidia/ck804')
-rw-r--r--src/southbridge/nvidia/ck804/Kconfig4
-rw-r--r--src/southbridge/nvidia/ck804/early_setup.c6
-rw-r--r--src/southbridge/nvidia/ck804/early_setup_car.c6
3 files changed, 16 insertions, 0 deletions
diff --git a/src/southbridge/nvidia/ck804/Kconfig b/src/southbridge/nvidia/ck804/Kconfig
index 83c427c3df..4126355c5e 100644
--- a/src/southbridge/nvidia/ck804/Kconfig
+++ b/src/southbridge/nvidia/ck804/Kconfig
@@ -30,6 +30,10 @@ config CK804B_PCI_E_X
int
default 4
+config CK804_PCIE_PME_WAKE
+ bool "Enable system wake on PCIe PME# signal"
+ default n
+
config CK804_NUM
int
default 1
diff --git a/src/southbridge/nvidia/ck804/early_setup.c b/src/southbridge/nvidia/ck804/early_setup.c
index 84b6bfb520..ecbf219597 100644
--- a/src/southbridge/nvidia/ck804/early_setup.c
+++ b/src/southbridge/nvidia/ck804/early_setup.c
@@ -288,6 +288,12 @@ static void ck804_early_setup(void)
#endif
#endif
+#if IS_ENABLED(CONFIG_CK804_PCIE_PME_WAKE)
+ RES_PCI_IO, PCI_ADDR(0, 1, 0, 0xe4), 0xffffffff, 0x00400000,
+#else
+ RES_PCI_IO, PCI_ADDR(0, 1, 0, 0xe4), 0xffbfffff, 0x00000000,
+#endif
+
#ifdef CK804_MB_SETUP
CK804_MB_SETUP
#endif
diff --git a/src/southbridge/nvidia/ck804/early_setup_car.c b/src/southbridge/nvidia/ck804/early_setup_car.c
index 53f2c5ef1b..d5a9956d78 100644
--- a/src/southbridge/nvidia/ck804/early_setup_car.c
+++ b/src/southbridge/nvidia/ck804/early_setup_car.c
@@ -211,6 +211,12 @@ static void ck804_early_setup(unsigned ck804_num, unsigned *busn,
RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0 + 0x0d, ~(0xff), ((0 << 4) | (2 << 2) | (0 << 0)),
RES_PORT_IO_8, SYSCTRL_IO_BASE + 0xc0 + 0x1a, ~(0xff), ((0 << 4) | (2 << 2) | (0 << 0)),
#endif
+
+#if IS_ENABLED(CONFIG_CK804_PCIE_PME_WAKE)
+ RES_PCI_IO, PCI_ADDR(0, 1, 0, 0xe4), 0xffffffff, 0x00400000,
+#else
+ RES_PCI_IO, PCI_ADDR(0, 1, 0, 0xe4), 0xffbfffff, 0x00000000,
+#endif
};
static const unsigned int ctrl_conf_multiple[] = {