From: Gireesh Hiremath <gireesh.hirem...@in.bosch.com>

read boot_mode_gpio and set the swi status

Signed-off-by: Gireesh Hiremath <gireesh.hirem...@in.bosch.com>
---
 board/bosch/guardian/board.c      | 15 +++++++++++++--
 include/configs/am335x_guardian.h |  2 +-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/board/bosch/guardian/board.c b/board/bosch/guardian/board.c
index 394c56d72e..9911e99c09 100644
--- a/board/bosch/guardian/board.c
+++ b/board/bosch/guardian/board.c
@@ -241,8 +241,19 @@ static void set_bootmode_env(void)
                goto err;
        }
 
-       value = dm_gpio_get_value(&boot_mode_desc);
-       value ? env_set("swi_status", "0") : env_set("swi_status", "1");
+       dm_gpio_set_dir_flags(&boot_mode_desc, GPIOD_IS_IN);
+       udelay(10);
+
+       ret = dm_gpio_get_value(&boot_mode_desc);
+       if (ret == 0) {
+               env_set("swi_status", "1");
+       } else if (ret == 1) {
+               env_set("swi_status", "0");
+       } else {
+               printf("swi status gpio error\n");
+               goto err;
+       }
+
        return;
 
 err:
diff --git a/include/configs/am335x_guardian.h 
b/include/configs/am335x_guardian.h
index 16ef639d9b..7db349d35b 100644
--- a/include/configs/am335x_guardian.h
+++ b/include/configs/am335x_guardian.h
@@ -69,7 +69,6 @@
                "setenv rootflags \"bulk_read,chk_data_crc\"; " \
                "setenv ethact usb_ether; " \
                "if test \"${swi_status}\" -eq 1; then " \
-                 "setenv extrabootargs \"swi_attached\"; " \
                  "if dhcp; then " \
                    "sleep 1; " \
                    "if tftp \"${tftp_load_addr}\" \"bootscript.scr\"; then " \
@@ -79,6 +78,7 @@
                    "setcurs 15 1; " \
                    "lcdputs \"DHCP Failed\"; " \
                  "fi; " \
+                 "setenv extrabootargs $extrabootargs \"swi_attached\"; " \
                "fi;" \
                "run bootcmd_ubifs0;\0" \
        "altbootcmd=" \
-- 
2.20.1

Reply via email to