From: Gireesh Hiremath Date: Fri, 11 Jun 2021 16:13:43 +0000 (+0000) Subject: am335x, guardian: update swi logic X-Git-Url: http://git.dujemihanovic.xyz/%22/img/sics.gif/%22/static/git-favicon.png?a=commitdiff_plain;h=d364926da3f9680cbaaabc7f976efe05b62d8c76;p=u-boot.git am335x, guardian: update swi logic read boot mode gpio and set the swi status Signed-off-by: Gireesh Hiremath Signed-off-by: Lokesh Vutla Link: https://lore.kernel.org/r/20210611161350.2141-12-Gireesh.Hiremath@in.bosch.com --- diff --git a/board/bosch/guardian/board.c b/board/bosch/guardian/board.c index 12d047b74b..f14ceaa1f9 100644 --- a/board/bosch/guardian/board.c +++ b/board/bosch/guardian/board.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -205,8 +206,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 814048bf86..c76f9b26fb 100644 --- a/include/configs/am335x_guardian.h +++ b/include/configs/am335x_guardian.h @@ -64,13 +64,13 @@ "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 " \ "source \"${tftp_load_addr}\"; " \ "fi; " \ "fi; " \ + "setenv extrabootargs $extrabootargs \"swi_attached\"; " \ "fi;" \ "run bootcmd_ubifs0;\0" \ "altbootcmd=" \