summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/falco/board.c2
-rw-r--r--board/peppy/board.c2
-rw-r--r--board/slippy/board.c2
-rw-r--r--common/x86_power_haswell.c7
4 files changed, 10 insertions, 3 deletions
diff --git a/board/falco/board.c b/board/falco/board.c
index 0bca002f49..60f431a794 100644
--- a/board/falco/board.c
+++ b/board/falco/board.c
@@ -98,6 +98,8 @@ const struct gpio_info gpio_list[GPIO_COUNT] = {
{"PCH_NMI_L", LM4_GPIO_F, (1<<2), GPIO_OUT_HIGH, NULL},
{"PCH_PWRBTN_L", LM4_GPIO_H, (1<<0), GPIO_OUT_HIGH, NULL},
{"PCH_PWROK", LM4_GPIO_F, (1<<5), GPIO_OUT_LOW, NULL},
+ /* FIXME: Why is PL6 act like it is inverted. Setting value to
+ * 0 makes the signal high, and setting it to 1 makes the signal low. */
{"PCH_RCIN_L", LM4_GPIO_L, (1<<6), GPIO_ODR_LOW, NULL},
{"PCH_RSMRST_L", LM4_GPIO_F, (1<<1), GPIO_OUT_LOW, NULL},
{"PCH_SMI_L", LM4_GPIO_F, (1<<4), GPIO_OUT_HIGH, NULL},
diff --git a/board/peppy/board.c b/board/peppy/board.c
index fccb3aab8c..4e397a0f72 100644
--- a/board/peppy/board.c
+++ b/board/peppy/board.c
@@ -98,6 +98,8 @@ const struct gpio_info gpio_list[GPIO_COUNT] = {
{"PCH_NMI_L", LM4_GPIO_F, (1<<2), GPIO_OUT_HIGH, NULL},
{"PCH_PWRBTN_L", LM4_GPIO_H, (1<<0), GPIO_OUT_HIGH, NULL},
{"PCH_PWROK", LM4_GPIO_F, (1<<5), GPIO_OUT_LOW, NULL},
+ /* FIXME: Why is PL6 act like it is inverted. Setting value to
+ * 0 makes the signal high, and setting it to 1 makes the signal low. */
{"PCH_RCIN_L", LM4_GPIO_L, (1<<6), GPIO_ODR_LOW, NULL},
{"PCH_RSMRST_L", LM4_GPIO_F, (1<<1), GPIO_OUT_LOW, NULL},
{"PCH_SMI_L", LM4_GPIO_F, (1<<4), GPIO_OUT_HIGH, NULL},
diff --git a/board/slippy/board.c b/board/slippy/board.c
index 56b499ad31..046669053c 100644
--- a/board/slippy/board.c
+++ b/board/slippy/board.c
@@ -98,6 +98,8 @@ const struct gpio_info gpio_list[GPIO_COUNT] = {
{"PCH_NMI_L", LM4_GPIO_F, (1<<2), GPIO_OUT_HIGH, NULL},
{"PCH_PWRBTN_L", LM4_GPIO_H, (1<<0), GPIO_OUT_HIGH, NULL},
{"PCH_PWROK", LM4_GPIO_F, (1<<5), GPIO_OUT_LOW, NULL},
+ /* FIXME: Why is PL6 act like it is inverted. Setting value to
+ * 0 makes the signal high, and setting it to 1 makes the signal low. */
{"PCH_RCIN_L", LM4_GPIO_L, (1<<6), GPIO_ODR_LOW, NULL},
{"PCH_RSMRST_L", LM4_GPIO_F, (1<<1), GPIO_OUT_LOW, NULL},
{"PCH_SMI_L", LM4_GPIO_F, (1<<4), GPIO_OUT_HIGH, NULL},
diff --git a/common/x86_power_haswell.c b/common/x86_power_haswell.c
index b6759da087..06bce3f204 100644
--- a/common/x86_power_haswell.c
+++ b/common/x86_power_haswell.c
@@ -239,9 +239,10 @@ void chipset_reset(int cold_reset)
/*
* Pulse must be at least 16 PCI clocks long = 500 ns. The gpio
- * pin used by the EC is configured as open drain. Therefore,
- * the driving RCIN# low needs to the level 1 to enable the
- * FET and 0 to disable the FET. */
+ * pin used by the EC is configured as open drain. However,
+ * empirically it was deteremined the polarity of the pin is
+ * inverted. No idea why. Therefore, the driving RCIN# low
+ * needs to be set to level 1. FIXME: why? */
gpio_set_level(GPIO_PCH_RCIN_L, 1);
udelay(10);
gpio_set_level(GPIO_PCH_RCIN_L, 0);