
On 8/8/22 14:16, Joel Stanley wrote:
From: Samuel Mendoza-Jonas sam@mendozajonas.com
Adds an "ncsi" command to manually start NC-SI configuration.
Signed-off-by: Samuel Mendoza-Jonas sam@mendozajonas.com Signed-off-by: Joel Stanley joel@jms.id.au
Reviewed-by: Cédric Le Goater clg@kaod.org
v4: New patch, split from patch 1
cmd/net.c | 22 ++++++++++++++++++++++ net/net.c | 1 + cmd/Kconfig | 8 ++++++++ 3 files changed, 31 insertions(+)
diff --git a/cmd/net.c b/cmd/net.c index 3619c843d838..2863fe768118 100644 --- a/cmd/net.c +++ b/cmd/net.c @@ -16,6 +16,7 @@ #include <net.h> #include <net/udp.h> #include <net/sntp.h> +#include <net/ncsi.h>
static int netboot_common(enum proto_t, struct cmd_tbl *, int, char * const []);
@@ -524,3 +525,24 @@ U_BOOT_CMD( "list - list available devices\n" ); #endif // CONFIG_DM_ETH
+#if defined(CONFIG_CMD_NCSI) +static int do_ncsi(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) +{
- if (!phy_interface_is_ncsi() || !ncsi_active()) {
printf("Device not configured for NC-SI\n");
return CMD_RET_FAILURE;
- }
- if (net_loop(NCSI) < 0)
return CMD_RET_FAILURE;
- return CMD_RET_SUCCESS;
+}
+U_BOOT_CMD(
- ncsi, 1, 1, do_ncsi,
- "Configure attached NIC via NC-SI",
- ""
+); +#endif /* CONFIG_CMD_NCSI */ diff --git a/net/net.c b/net/net.c index f0faf33d0d77..a4e645ac4425 100644 --- a/net/net.c +++ b/net/net.c @@ -434,6 +434,7 @@ int net_loop(enum proto_t protocol) } else { eth_init_state_only(); }
- restart: #ifdef CONFIG_USB_KEYBOARD net_busy_flag = 0;
diff --git a/cmd/Kconfig b/cmd/Kconfig index 3625ff2a50b3..3a5d1bba78a8 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1813,6 +1813,14 @@ config CMD_LINK_LOCAL help Acquire a network IP address using the link-local protocol
+config CMD_NCSI
bool "ncsi"
depends on PHY_NCSI
help
Manually configure the attached NIC via NC-SI.
Normally this happens automatically before other network
operations.
endif
config CMD_ETHSW