summaryrefslogtreecommitdiffstats
path: root/op-pwrctl
diff options
context:
space:
mode:
authorXo Wang <xow@google.com>2016-10-04 14:37:32 -0700
committerXo Wang <xow@google.com>2016-10-04 16:18:35 -0700
commit3ab5436a5c89ec5d89c0cb7e6497ddef7bc92555 (patch)
tree2d98f25437b645fde556d14455bf8d1a76b006f3 /op-pwrctl
parentc1ce68b3df3e63a6eef2b9b3c0ff8b176a40df01 (diff)
downloadtalos-skeleton-3ab5436a5c89ec5d89c0cb7e6497ddef7bc92555.tar.gz
talos-skeleton-3ab5436a5c89ec5d89c0cb7e6497ddef7bc92555.zip
op-pwrctl: Fix polarity of power outputs
The power GPIO logic introduced in I83d55a7069558ec810bc2e0dbbff1c5495957e6d produces inverted polarity outputs for power-up and reset signals. This fixes the logic and allows systems to boot again. Change-Id: I0830b46c0c0c1e337085050483da0250d5d850f5 Signed-off-by: Xo Wang <xow@google.com>
Diffstat (limited to 'op-pwrctl')
-rw-r--r--op-pwrctl/power_control_obj.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/op-pwrctl/power_control_obj.c b/op-pwrctl/power_control_obj.c
index 679493c..eb6be21 100644
--- a/op-pwrctl/power_control_obj.c
+++ b/op-pwrctl/power_control_obj.c
@@ -88,7 +88,7 @@ poll_pgood(gpointer user_data)
continue;
}
- reset_state = pgood_state ^ g_power_gpio.reset_pols[i];
+ reset_state = pgood_state ^ !g_power_gpio.reset_pols[i];
g_print("PowerControl: setting reset %s to %d\n", reset_out->name,
(int)reset_state);
gpio_write(reset_out, reset_state);
@@ -155,7 +155,7 @@ on_set_power_state(ControlPower *pwr,
g_power_gpio.power_up_outs[i].name, error);
continue;
}
- power_up_out = state ^ g_power_gpio.power_up_pols[i];
+ power_up_out = state ^ !g_power_gpio.power_up_pols[i];
g_print("PowerControl: setting power up %s to %d\n",
g_power_gpio.power_up_outs[i].name, (int)power_up_out);
error = gpio_write(power_pin, power_up_out);
OpenPOWER on IntegriCloud