diff --git a/power-sequencer/ucd90160.cpp b/power-sequencer/ucd90160.cpp
index 704c4e0..156c8f4 100644
--- a/power-sequencer/ucd90160.cpp
+++ b/power-sequencer/ucd90160.cpp
@@ -38,6 +38,7 @@
 const auto DRIVER_NAME = "ucd9000"s;
 constexpr auto NUM_PAGES = 16;
 
+namespace fs = std::experimental::filesystem;
 using namespace pmbus;
 using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Control::Device::Error;
@@ -51,6 +52,7 @@
               DRIVER_NAME,
               instance)
 {
+    findGPIODevice();
 }
 
 void UCD90160::onFailure()
@@ -184,5 +186,32 @@
 
 }
 
+void UCD90160::findGPIODevice()
+{
+    auto& path = interface.path();
+
+    //In the driver directory, look for a subdirectory
+    //named gpiochipX, where X is some number.  Then
+    //we'll access the GPIO at /dev/gpiochipX.
+    if (fs::is_directory(path))
+    {
+        for (auto& f : fs::directory_iterator(path))
+        {
+            if (f.path().filename().string().find("gpiochip") !=
+                    std::string::npos)
+            {
+                gpioDevice = "/dev" / f.path().filename();
+                break;
+            }
+        }
+    }
+
+    if (gpioDevice.empty())
+    {
+        log<level::ERR>("Could not find UCD90160 GPIO device path",
+                entry("BASE_PATH=%s", path.c_str()));
+    }
+}
+
 }
 }
diff --git a/power-sequencer/ucd90160.hpp b/power-sequencer/ucd90160.hpp
index 8bb152b..09a3abf 100644
--- a/power-sequencer/ucd90160.hpp
+++ b/power-sequencer/ucd90160.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include <algorithm>
+#include <experimental/filesystem>
 #include <map>
 #include <vector>
 #include "device.hpp"
@@ -57,6 +58,11 @@
     private:
 
         /**
+         * Finds the GPIO device path for this device
+         */
+        void findGPIODevice();
+
+        /**
          * Checks for VOUT faults on the device.
          *
          * This device can monitor voltages of its dependent
@@ -147,6 +153,12 @@
         bool accessError = false;
 
         /**
+         * The path to the GPIO device used to read
+         * the GPI (PGOOD) status
+         */
+        std::experimental::filesystem::path gpioDevice;
+
+        /**
          * Map of device instance to the instance specific data
          */
         static const ucd90160::DeviceMap deviceMap;
