summaryrefslogtreecommitdiffstats
path: root/op-pwrctl
Commit message (Collapse)AuthorAgeFilesLines
* skeleton: Use ioctl gpio handlingAnthony Wilson2019-04-101-20/+30
| | | | | | | | | | | | | Now that chassiskill is a standalone app and is using ioctl gpio handling (through the gpioplus library), the gpio libraries here need to use ioctl as well for chassiskill to be compatible. Tested: Verified chassiskill works as intended and checked that nothing else broke. Change-Id: I67c431027d31e87c332c3e1771fc2d3423f56652 Signed-off-by: Anthony Wilson <wilsonan@us.ibm.com>
* Remove unnecessary args from GPIO functionsMatt Spinler2018-08-141-10/+8
| | | | | | | | Now that gpio_init() and read_gpios() doesn't use D-Bus, they don't need the D-Bus connection parameter. Change-Id: Id7f3ee6547bed7c0c0eed5d75cba2d6ff239d0fa Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Call gpio_inits_done() from GPIO consumersMatt Spinler2018-08-141-0/+2
| | | | | | | | | | This frees the cJSON structures that were created in the gpio_init() calls. Doing it this way allows the JSON to be parsed only once across multiple gpio_init() calls. Change-Id: Ia2c37c941b458fe271287b441c30b00dcb67d742 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* Add error handing to recovery from gpio config failureYong Li2018-04-091-0/+3
| | | | | | | | | | | | | | | Sometimes these chassis related services will fail with below error: Power GPIO: call to getGpioConfiguration failed: GDBus.Error:org.freedesktop.DBus.Error.Service Unknown: The name org.openbmc.managers.System was not provided by any .service files These gpio pins cannot be configured properly, and cannot power on/off host. Add error handing to terminate the service in such error, systemd will restart them to try again Change-Id: I3ce7383825f2b9715fdd82e1dec0725cef83073c Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
* Remove use of legacy system stateAndrew Geissler2018-02-151-7/+0
| | | | | | | | | The OpenBMC state function has been moved to the phosphor-state-manager repository. The chassis power state is tracked via systemd targets so notification from this power application is no longer needed. Change-Id: Ie74b0fe589944ab65645f92ab3539c2ee74dda9c Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
* Allow PGOOD polling interval of 500msMatt Spinler2017-12-221-2/+2
| | | | | | | | | | The code has an explicit check for a minimum allowed PGOOD polling interval. Decrease that from 1s to 500ms as there are new requirements on a specific system to poll at the 500ms. Change-Id: If42ecc9244b5e0d8d5b5c17275241f820537d34a Signed-off-by: Matt Spinler <spinler@us.ibm.com>
* op-pwrctl: Use new BootProgress sensorLei YU2017-10-161-7/+34
| | | | | | | | | | | The pci_reset_out depends on BootProgress sensor to release the reset hold. The /org/openbmc/sensors/host/BootProgress object is deprecated and we should use /xyz/openbmc_project/state/host0 now. Update the code to use new object and it fixes the P8 PCI reset issues. Change-Id: I97b311b548c4e8d081820f488dc2a8b40a41cf1c Signed-off-by: Lei YU <mine260309@gmail.com>
* Revert "Fix for Failing to recover from pgood timeout"Patrick Williams2017-03-211-1/+1
| | | | | | | | | | | This reverts commit e2babdb30796fa23ab676eef2a4f6bdf2e043a13. Original change is causing other problems reported via openbmc/openbmc#1321. Change-Id: Ib61329fb0ac6d807f9cde5fb1d63d76fd04d0faf Signed-off-by: Dhruvaraj S <dhruvaraj@in.ibm.com> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
* Fix for Failing to recover from pgood timeoutDhruvaraj S2017-03-131-1/+1
| | | | | | | | | | Fixing the failure in recovery from timeout which was due to not informing back the timeout condition correctly. Resolves openbmc/openbmc#1239 Change-Id: I1554c71eba134195be003a7fa5d5c98a35b51d05 Signed-off-by: Dhruvaraj S <dhruvaraj@in.ibm.com>
* op-pwrctl: Make latch transparent briefly, only after state changesXo Wang2017-03-071-25/+36
| | | | | | | | | | | | | | | | | | | The Zaius motherboard has latches between BMC control pins to power up the host and the input pins to the power sequencer. This allows BMC resets to not interrupt power to the host. Currently, the latches are made transparent prior to sampling the power state of the system, which causes BMC boot to kill host power. In addition the latches remain transparent, so the system can be brought down by the BMC shutting down. Enable the latches only after power control pins change state. Enable the latches only momentarily. After this change, Zaius BMC can reboot without taking down its host. Signed-off-by: Xo Wang <xow@google.com> Change-Id: If150cbcf3fabda359d1ce94602c40cb96741e869
* Rename power_gpio to gpio_configs.Lei YU2017-01-121-1/+1
| | | | | Change-Id: I22382fbb19a077e333aba93ae81ae614ec0cb70a Signed-off-by: Lei YU <mine260309@gmail.com>
* GPIO abstraction for power and host controlLei YU2017-01-121-32/+32
| | | | | | | | | | | | | | | | | | | | In libopenbmc_intf/power_gpio.c there are GPIO abstractions for power related GPIOs. Host control related GPIOs need to do the same abstraction. The changes include: 1. Add host control related GPIOs in gpio_configs and update system_manager.py 2. Update control_host_obj.c to use the abstracted GPIOs 3. Update GPIO_CONFIGS for all machines and add host control related GPIOs power_gpio will be renamed to gpio_configs in next commit; Resolves openbmc/openbmc#814 Change-Id: I7832065d495d7d64c5df2f5b177005b97e68900a Signed-off-by: Lei YU <mine260309@gmail.com>
* Fix wrong reset pin settingYi Li2016-12-191-9/+9
| | | | | | | | | | | | | | | | | | | | | | When power on or power off host, the way to set reset pins based on pin polarity is not correct. This makes PCIE devices not working properly. This patch fixed bug introduced by commit: https://github.com/openbmc/skeleton/commit/3ab5436 and https://github.com/openbmc/skeleton/commit/0475f65 The relationship between expected reset pin state and pgood state looks like: pgood polarilty reset_pin(expected) 1 0 1 0 0 0 1 1 0 0 1 1 Related with openbmc/openbmc#876 Change-Id: Id0b36c15ed645c29f3ccc2aa507e50b31a718bb9 Signed-off-by: Yi Li <adamliyi@msn.com>
* op-pwrctl: Hold PCI resets until BootProgress passes BASE_INITIALIZATION stateYi Li2016-11-181-0/+114
| | | | | | | | | | | | When powering on host, hold PCI resets until hostboot passes stage "BASE_INITIALIZATION"(0x14). This fix applies to Firestone and Garrison. Partially resolves openbmc/openbmc#315 Change-Id: Ic71c81406ac188b34df89569e2264ea0b94406f3 Signed-off-by: Yi Li <adamliyi@msn.com>
* op-pwrctl: Fix polarity of power outputsXo Wang2016-10-041-2/+2
| | | | | | | | | | 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>
* pwrctl: Add latch output to power controlXo Wang2016-10-041-0/+26
| | | | | | | | | | | | On the Zaius machine, the BMC signals that power up the CPU are gated by a latch to protect against GPIO blips during BMC reset/power loss. This adds an optional power GPIO configuration that controls the latch's enable pin. Its behavior is to assert high when the op-pwrctl runs, allowing power_up lines to propagate past their latches. Signed-off-by: Xo Wang <xow@google.com> Change-Id: Ibf0d1db771033cb9bba82575cca1bd21cfb3ad3d
* pwrctl: Use PowerGpio configuration for power controlXo Wang2016-10-041-63/+111
| | | | | | | | | Use power GPIO configuration read from Python system configuration to control power and reset lines. This removes the need for machine-specific patches. Signed-off-by: Xo Wang <xow@google.com> Change-Id: I83d55a7069558ec810bc2e0dbbff1c5495957e6d
* pwrctl: add pgood state switching applicationBrad Bishop2016-08-304-0/+190
| | | | | | | | | | pgood_wait simply blocks until the power state changes to the requested state. The intent is for use from a systemd unit similar to nm-online. Change-Id: Icf1e18f5d47d6eb2fc424b4614fd196ef3dfd6ee Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
* libopenbmc_intf include path updateBrad Bishop2016-06-271-3/+3
| | | | | | | | | Remove the interfaces prefix from applications including openbmc_intf.h. Use brackets rather than quotes in prep for a libopenbmc_intf SDK package. Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
* Reorganize directory structureBrad Bishop2016-06-102-0/+312
Moving to directory per-application layout. This facilitates building single applications which is useful in the Yocto build environment since different applications satisfy different OpenBMC build requirements. A number of issues are also addressed: - All applications were pulling in libsystemd and the gdbus libs irrespective of whether or not they were needed. - gpio.o duplicated in every application - moved to libopenbmc_intf - Added install target Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
OpenPOWER on IntegriCloud