[PATCH v4 2/4] cmd: Add ncsi command

Cédric Le Goater clg at kaod.org
Mon Aug 8 14:56:54 CEST 2022


On 8/8/22 14:16, Joel Stanley wrote:
> From: Samuel Mendoza-Jonas <sam at mendozajonas.com>
> 
> Adds an "ncsi" command to manually start NC-SI configuration.
> 
> Signed-off-by: Samuel Mendoza-Jonas <sam at mendozajonas.com>
> Signed-off-by: Joel Stanley <joel at jms.id.au>

Reviewed-by: Cédric Le Goater <clg at 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



More information about the U-Boot mailing list