It is necessary to read the status of the PGY_PRES pin
so that u-boot can react accordingly.

Signed-off-by: Rainer Boschung <rainer.bosch...@hitachienergy.com>
Signed-off-by: Aleksandar Gerasimovski 
<aleksandar.gerasimov...@hitachienergy.com>
---
 board/keymile/common/qrio.c | 13 +++++++++++++
 board/keymile/common/qrio.h |  1 +
 2 files changed, 14 insertions(+)

diff --git a/board/keymile/common/qrio.c b/board/keymile/common/qrio.c
index ed5e472..89a9726 100644
--- a/board/keymile/common/qrio.c
+++ b/board/keymile/common/qrio.c
@@ -40,6 +40,19 @@ bool qrio_get_selftest_pin(void)
        return (slftest & 1) > 0;
 }
 
+#define BPRTH_OFF              0x04
+
+bool qrio_get_pgy_pres_pin(void)
+{
+       u8 pgy_pres;
+
+       void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
+
+       pgy_pres = in_8(qrio_base + BPRTH_OFF);
+
+       return (pgy_pres & 0x80) > 0;
+}
+
 int qrio_get_gpio(u8 port_off, u8 gpio_nr)
 {
        u32 gprt;
diff --git a/board/keymile/common/qrio.h b/board/keymile/common/qrio.h
index c341cd9..2b997d9 100644
--- a/board/keymile/common/qrio.h
+++ b/board/keymile/common/qrio.h
@@ -13,6 +13,7 @@
 
 void show_qrio(void);
 bool qrio_get_selftest_pin(void);
+bool qrio_get_pgy_pres_pin(void);
 int qrio_get_gpio(u8 port_off, u8 gpio_nr);
 void qrio_set_opendrain_gpio(u8 port_off, u8 gpio_nr, u8 val);
 void qrio_set_gpio(u8 port_off, u8 gpio_nr, bool value);
-- 
1.8.3.1

Reply via email to