All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] net: Enable NC-SI support
@ 2022-08-08 12:16 Joel Stanley
  2022-08-08 12:16 ` [PATCH v4 1/4] net: NC-SI setup and handling Joel Stanley
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Joel Stanley @ 2022-08-08 12:16 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Cédric Le Goater, Samuel Mendoza-Jonas, u-boot

Back in 2019 Sam submitted NC-SI support. The NC-SI PHY driver was
merged (patches 1 and 2), but we never got around to merging patches 3
and 4:

 https://lore.kernel.org/u-boot/20190618013720.2823-1-sam@mendozajonas.com/

Sam as long since moved on from working on the Aspeed BMCs, but the code
has been in use in the vendor fork for some time.

This refreshes his patches and enables support in the Aspeed defconfigs,
giving compile coverage to the NC-SI phy.

v4 splits the ncsi integration and cmd code into separate patches, and
adds r-b from Ramon and Cédric to patches 3 and 4.

Joel Stanley (1):
  config/aspeed: Enable NC-SI support

Samuel Mendoza-Jonas (3):
  net: NC-SI setup and handling
  cmd: Add ncsi command
  net/ftgmac100: Add NC-SI mode support

 include/net.h                 |  2 +-
 include/phy.h                 |  2 ++
 cmd/net.c                     | 22 ++++++++++++++++++++++
 drivers/net/ftgmac100.c       | 14 ++++++++++----
 drivers/net/phy/ncsi.c        |  1 +
 drivers/net/phy/phy.c         |  9 ++++++++-
 net/net.c                     | 27 ++++++++++++++++++++++++++-
 cmd/Kconfig                   |  8 ++++++++
 configs/evb-ast2500_defconfig |  2 ++
 configs/evb-ast2600_defconfig |  2 ++
 10 files changed, 82 insertions(+), 7 deletions(-)

-- 
2.35.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v4 1/4] net: NC-SI setup and handling
  2022-08-08 12:16 [PATCH v4 0/4] net: Enable NC-SI support Joel Stanley
@ 2022-08-08 12:16 ` Joel Stanley
  2022-08-08 12:57   ` Cédric Le Goater
                     ` (2 more replies)
  2022-08-08 12:16 ` [PATCH v4 2/4] cmd: Add ncsi command Joel Stanley
                   ` (3 subsequent siblings)
  4 siblings, 3 replies; 15+ messages in thread
From: Joel Stanley @ 2022-08-08 12:16 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Samuel Mendoza-Jonas, Cédric Le Goater, u-boot

From: Samuel Mendoza-Jonas <sam@mendozajonas.com>

Add the handling of NC-SI ethernet frames, and add a check at the start
of net_loop() to configure NC-SI before starting other network commands.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
---
v4: split out cmd addition into a separate patch
v3:
 - Fix compilation. There were no configs that enabled the NCSI phy code
   so it had bitrotted
 - Use NCSI_PHY instead of CMD_NCSI so NCSI can work without the command
 - Add phy_interface_is_ncsi() helper, thanks Cédric for this suggestion
 - Only create NCSI phy device when driver is configured for it

 include/net.h          |  2 +-
 include/phy.h          |  2 ++
 drivers/net/phy/ncsi.c |  1 +
 drivers/net/phy/phy.c  |  9 ++++++++-
 net/net.c              | 26 +++++++++++++++++++++++++-
 5 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/include/net.h b/include/net.h
index e3889a0bc85e..0681b8246323 100644
--- a/include/net.h
+++ b/include/net.h
@@ -558,7 +558,7 @@ extern int		net_restart_wrap;	/* Tried all network devices */
 
 enum proto_t {
 	BOOTP, RARP, ARP, TFTPGET, DHCP, PING, DNS, NFS, CDP, NETCONS, SNTP,
-	TFTPSRV, TFTPPUT, LINKLOCAL, FASTBOOT, WOL, UDP
+	TFTPSRV, TFTPPUT, LINKLOCAL, FASTBOOT, WOL, UDP, NCSI
 };
 
 extern char	net_boot_file_name[1024];/* Boot File name */
diff --git a/include/phy.h b/include/phy.h
index b32959571069..1e0f8856f629 100644
--- a/include/phy.h
+++ b/include/phy.h
@@ -583,6 +583,8 @@ static inline bool phy_interface_is_sgmii(struct phy_device *phydev)
 		phydev->interface <= PHY_INTERFACE_MODE_QSGMII;
 }
 
+bool phy_interface_is_ncsi(void);
+
 /* PHY UIDs for various PHYs that are referenced in external code */
 #define PHY_UID_CS4340		0x13e51002
 #define PHY_UID_CS4223		0x03e57003
diff --git a/drivers/net/phy/ncsi.c b/drivers/net/phy/ncsi.c
index bf1e832be9f1..bb7ecebed382 100644
--- a/drivers/net/phy/ncsi.c
+++ b/drivers/net/phy/ncsi.c
@@ -9,6 +9,7 @@
 #include <log.h>
 #include <malloc.h>
 #include <phy.h>
+#include <net.h>
 #include <net/ncsi.h>
 #include <net/ncsi-pkt.h>
 #include <asm/unaligned.h>
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 1121b99abff5..d04538838852 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -1026,7 +1026,7 @@ struct phy_device *phy_connect(struct mii_dev *bus, int addr,
 #endif
 
 #ifdef CONFIG_PHY_NCSI
-	if (!phydev)
+	if (!phydev && interface == PHY_INTERFACE_MODE_NCSI)
 		phydev = phy_device_create(bus, 0, PHY_NCSI_ID, false);
 #endif
 
@@ -1101,3 +1101,10 @@ int phy_modify(struct phy_device *phydev, int devad, int regnum, u16 mask,
 
 	return phy_write(phydev, devad, regnum, (ret & ~mask) | set);
 }
+
+bool phy_interface_is_ncsi(void)
+{
+	struct eth_pdata *pdata = dev_get_plat(eth_get_dev());
+
+	return pdata->phy_interface == PHY_INTERFACE_MODE_NCSI;
+}
diff --git a/net/net.c b/net/net.c
index 81905f631592..f0faf33d0d77 100644
--- a/net/net.c
+++ b/net/net.c
@@ -93,6 +93,7 @@
 #include <net.h>
 #include <net/fastboot.h>
 #include <net/tftp.h>
+#include <net/ncsi.h>
 #if defined(CONFIG_CMD_PCAP)
 #include <net/pcap.h>
 #endif
@@ -410,6 +411,16 @@ int net_loop(enum proto_t protocol)
 	net_try_count = 1;
 	debug_cond(DEBUG_INT_STATE, "--- net_loop Entry\n");
 
+#ifdef CONFIG_PHY_NCSI
+	if (phy_interface_is_ncsi() && protocol != NCSI && !ncsi_active()) {
+		printf("%s: configuring NCSI first\n", __func__);
+		if (net_loop(NCSI) < 0)
+			return ret;
+		eth_init_state_only();
+		goto restart;
+	}
+#endif
+
 	bootstage_mark_name(BOOTSTAGE_ID_ETH_START, "eth_start");
 	net_init();
 	if (eth_is_on_demand_init()) {
@@ -526,6 +537,11 @@ restart:
 		case WOL:
 			wol_start();
 			break;
+#endif
+#if defined(CONFIG_PHY_NCSI)
+		case NCSI:
+			ncsi_probe_packages();
+			break;
 #endif
 		default:
 			break;
@@ -637,7 +653,7 @@ restart:
 				env_set_hex("filesize", net_boot_file_size);
 				env_set_hex("fileaddr", image_load_addr);
 			}
-			if (protocol != NETCONS)
+			if (protocol != NETCONS && protocol != NCSI)
 				eth_halt();
 			else
 				eth_halt_state_only();
@@ -1321,6 +1337,11 @@ void net_process_received_packet(uchar *in_packet, int len)
 	case PROT_WOL:
 		wol_receive(ip, len);
 		break;
+#endif
+#ifdef CONFIG_PHY_NCSI
+	case PROT_NCSI:
+		ncsi_receive(et, ip, len);
+		break;
 #endif
 	}
 }
@@ -1381,6 +1402,9 @@ common:
 
 #ifdef CONFIG_CMD_RARP
 	case RARP:
+#endif
+#ifdef CONFIG_PHY_NCSI
+	case NCSI:
 #endif
 	case BOOTP:
 	case CDP:
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 2/4] cmd: Add ncsi command
  2022-08-08 12:16 [PATCH v4 0/4] net: Enable NC-SI support Joel Stanley
  2022-08-08 12:16 ` [PATCH v4 1/4] net: NC-SI setup and handling Joel Stanley
@ 2022-08-08 12:16 ` Joel Stanley
  2022-08-08 12:56   ` Cédric Le Goater
  2022-10-24 12:21   ` Tom Rini
  2022-08-08 12:16 ` [PATCH v4 3/4] net/ftgmac100: Add NC-SI mode support Joel Stanley
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Joel Stanley @ 2022-08-08 12:16 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Samuel Mendoza-Jonas, Cédric Le Goater, u-boot

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>
---
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
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 3/4] net/ftgmac100: Add NC-SI mode support
  2022-08-08 12:16 [PATCH v4 0/4] net: Enable NC-SI support Joel Stanley
  2022-08-08 12:16 ` [PATCH v4 1/4] net: NC-SI setup and handling Joel Stanley
  2022-08-08 12:16 ` [PATCH v4 2/4] cmd: Add ncsi command Joel Stanley
@ 2022-08-08 12:16 ` Joel Stanley
  2022-10-24 12:21   ` Tom Rini
  2022-08-08 12:16 ` [PATCH v4 4/4] config/aspeed: Enable NC-SI support Joel Stanley
  2022-08-23  4:54 ` [PATCH v4 0/4] net: " Joel Stanley
  4 siblings, 1 reply; 15+ messages in thread
From: Joel Stanley @ 2022-08-08 12:16 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Samuel Mendoza-Jonas, Cédric Le Goater, u-boot

From: Samuel Mendoza-Jonas <sam@mendozajonas.com>

Update the ftgmac100 driver to support NC-SI instead of an mdio phy
where available. This is a common setup for Aspeed AST2x00 platforms.

NC-SI mode is determined from the device-tree if either phy-mode sets it
or the use-ncsi property exists. If set then normal mdio setup is
skipped in favour of the NC-SI phy.

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>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
---
v4: Add r-b from Cédric and Ramon
v3:
 - Simplify ncsi enable by re-using pdata->phy_interface parsing.
   use-ncsi still overrides this value.
 - Fix up freeing in remove callback per Joe's review

 drivers/net/ftgmac100.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
index 78779d7d60b9..69370ea5cca2 100644
--- a/drivers/net/ftgmac100.c
+++ b/drivers/net/ftgmac100.c
@@ -188,7 +188,7 @@ static int ftgmac100_phy_adjust_link(struct ftgmac100_data *priv)
 	struct phy_device *phydev = priv->phydev;
 	u32 maccr;
 
-	if (!phydev->link) {
+	if (!phydev->link && priv->phy_mode != PHY_INTERFACE_MODE_NCSI) {
 		dev_err(phydev->dev, "No link\n");
 		return -EREMOTEIO;
 	}
@@ -228,7 +228,8 @@ static int ftgmac100_phy_init(struct udevice *dev)
 	if (!phydev)
 		return -ENODEV;
 
-	phydev->supported &= PHY_GBIT_FEATURES;
+	if (priv->phy_mode != PHY_INTERFACE_MODE_NCSI)
+		phydev->supported &= PHY_GBIT_FEATURES;
 	if (priv->max_speed) {
 		ret = phy_set_supported(phydev, priv->max_speed);
 		if (ret)
@@ -308,7 +309,8 @@ static void ftgmac100_stop(struct udevice *dev)
 
 	writel(0, &ftgmac100->maccr);
 
-	phy_shutdown(priv->phydev);
+	if (priv->phy_mode != PHY_INTERFACE_MODE_NCSI)
+		phy_shutdown(priv->phydev);
 }
 
 static int ftgmac100_start(struct udevice *dev)
@@ -580,6 +582,9 @@ static int ftgmac100_probe(struct udevice *dev)
 	priv->max_speed = pdata->max_speed;
 	priv->phy_addr = 0;
 
+	if (dev_read_bool(dev, "use-ncsi"))
+		priv->phy_mode = PHY_INTERFACE_MODE_NCSI;
+
 #ifdef CONFIG_PHY_ADDR
 	priv->phy_addr = CONFIG_PHY_ADDR;
 #endif
@@ -592,7 +597,8 @@ static int ftgmac100_probe(struct udevice *dev)
 	 * If DM MDIO is enabled, the MDIO bus will be initialized later in
 	 * dm_eth_phy_connect
 	 */
-	if (!IS_ENABLED(CONFIG_DM_MDIO)) {
+	if (priv->phy_mode != PHY_INTERFACE_MODE_NCSI &&
+	    !IS_ENABLED(CONFIG_DM_MDIO)) {
 		ret = ftgmac100_mdio_init(dev);
 		if (ret) {
 			dev_err(dev, "Failed to initialize mdiobus: %d\n", ret);
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v4 4/4] config/aspeed: Enable NC-SI support
  2022-08-08 12:16 [PATCH v4 0/4] net: Enable NC-SI support Joel Stanley
                   ` (2 preceding siblings ...)
  2022-08-08 12:16 ` [PATCH v4 3/4] net/ftgmac100: Add NC-SI mode support Joel Stanley
@ 2022-08-08 12:16 ` Joel Stanley
  2022-10-24 12:21   ` Tom Rini
  2022-08-23  4:54 ` [PATCH v4 0/4] net: " Joel Stanley
  4 siblings, 1 reply; 15+ messages in thread
From: Joel Stanley @ 2022-08-08 12:16 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Cédric Le Goater, Samuel Mendoza-Jonas, u-boot

Aspeed BMCs are commonly used with NC-SI. A system indicates the driver
should configure the link over NC-SI using the device tree.

Add it to the defconfig so we get compile coverage of the driver, even
if the EVBs do not normally use it.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
---
v4: Add r-b from Cédric and Ramon

 configs/evb-ast2500_defconfig | 2 ++
 configs/evb-ast2600_defconfig | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/configs/evb-ast2500_defconfig b/configs/evb-ast2500_defconfig
index e7d93ec48bf0..1ed0c4dee76b 100644
--- a/configs/evb-ast2500_defconfig
+++ b/configs/evb-ast2500_defconfig
@@ -28,6 +28,7 @@ CONFIG_CMD_DHCP=y
 CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_NCSI=y
 CONFIG_ENV_OVERWRITE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_NET_RANDOM_ETHADDR=y
@@ -40,6 +41,7 @@ CONFIG_I2C_EEPROM=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ASPEED=y
 CONFIG_PHY_REALTEK=y
+CONFIG_PHY_NCSI=y
 CONFIG_DM_ETH=y
 CONFIG_FTGMAC100=y
 CONFIG_PHY=y
diff --git a/configs/evb-ast2600_defconfig b/configs/evb-ast2600_defconfig
index d07d3c41fef6..e6cfef1137bb 100644
--- a/configs/evb-ast2600_defconfig
+++ b/configs/evb-ast2600_defconfig
@@ -66,6 +66,7 @@ CONFIG_CMD_DHCP=y
 CONFIG_BOOTP_BOOTFILESIZE=y
 CONFIG_CMD_MII=y
 CONFIG_CMD_PING=y
+CONFIG_CMD_NCSI=y
 CONFIG_CMD_EXT4=y
 CONFIG_DOS_PARTITION=y
 # CONFIG_SPL_DOS_PARTITION is not set
@@ -88,6 +89,7 @@ CONFIG_I2C_EEPROM=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ASPEED=y
 CONFIG_PHY_REALTEK=y
+CONFIG_PHY_NCSI=y
 CONFIG_DM_ETH=y
 CONFIG_DM_MDIO=y
 CONFIG_FTGMAC100=y
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 2/4] cmd: Add ncsi command
  2022-08-08 12:16 ` [PATCH v4 2/4] cmd: Add ncsi command Joel Stanley
@ 2022-08-08 12:56   ` Cédric Le Goater
  2022-10-24 12:21   ` Tom Rini
  1 sibling, 0 replies; 15+ messages in thread
From: Cédric Le Goater @ 2022-08-08 12:56 UTC (permalink / raw)
  To: Joel Stanley, Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Samuel Mendoza-Jonas, u-boot

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


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 1/4] net: NC-SI setup and handling
  2022-08-08 12:16 ` [PATCH v4 1/4] net: NC-SI setup and handling Joel Stanley
@ 2022-08-08 12:57   ` Cédric Le Goater
  2022-08-08 18:42   ` Ramon Fried
  2022-10-24 12:21   ` Tom Rini
  2 siblings, 0 replies; 15+ messages in thread
From: Cédric Le Goater @ 2022-08-08 12:57 UTC (permalink / raw)
  To: Joel Stanley, Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Samuel Mendoza-Jonas, u-boot

On 8/8/22 14:16, Joel Stanley wrote:
> From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
> 
> Add the handling of NC-SI ethernet frames, and add a check at the start
> of net_loop() to configure NC-SI before starting other network commands.
> 
> 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: split out cmd addition into a separate patch
> v3:
>   - Fix compilation. There were no configs that enabled the NCSI phy code
>     so it had bitrotted
>   - Use NCSI_PHY instead of CMD_NCSI so NCSI can work without the command
>   - Add phy_interface_is_ncsi() helper, thanks Cédric for this suggestion
>   - Only create NCSI phy device when driver is configured for it
> 
>   include/net.h          |  2 +-
>   include/phy.h          |  2 ++
>   drivers/net/phy/ncsi.c |  1 +
>   drivers/net/phy/phy.c  |  9 ++++++++-
>   net/net.c              | 26 +++++++++++++++++++++++++-
>   5 files changed, 37 insertions(+), 3 deletions(-)
> 
> diff --git a/include/net.h b/include/net.h
> index e3889a0bc85e..0681b8246323 100644
> --- a/include/net.h
> +++ b/include/net.h
> @@ -558,7 +558,7 @@ extern int		net_restart_wrap;	/* Tried all network devices */
>   
>   enum proto_t {
>   	BOOTP, RARP, ARP, TFTPGET, DHCP, PING, DNS, NFS, CDP, NETCONS, SNTP,
> -	TFTPSRV, TFTPPUT, LINKLOCAL, FASTBOOT, WOL, UDP
> +	TFTPSRV, TFTPPUT, LINKLOCAL, FASTBOOT, WOL, UDP, NCSI
>   };
>   
>   extern char	net_boot_file_name[1024];/* Boot File name */
> diff --git a/include/phy.h b/include/phy.h
> index b32959571069..1e0f8856f629 100644
> --- a/include/phy.h
> +++ b/include/phy.h
> @@ -583,6 +583,8 @@ static inline bool phy_interface_is_sgmii(struct phy_device *phydev)
>   		phydev->interface <= PHY_INTERFACE_MODE_QSGMII;
>   }
>   
> +bool phy_interface_is_ncsi(void);
> +
>   /* PHY UIDs for various PHYs that are referenced in external code */
>   #define PHY_UID_CS4340		0x13e51002
>   #define PHY_UID_CS4223		0x03e57003
> diff --git a/drivers/net/phy/ncsi.c b/drivers/net/phy/ncsi.c
> index bf1e832be9f1..bb7ecebed382 100644
> --- a/drivers/net/phy/ncsi.c
> +++ b/drivers/net/phy/ncsi.c
> @@ -9,6 +9,7 @@
>   #include <log.h>
>   #include <malloc.h>
>   #include <phy.h>
> +#include <net.h>
>   #include <net/ncsi.h>
>   #include <net/ncsi-pkt.h>
>   #include <asm/unaligned.h>
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index 1121b99abff5..d04538838852 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -1026,7 +1026,7 @@ struct phy_device *phy_connect(struct mii_dev *bus, int addr,
>   #endif
>   
>   #ifdef CONFIG_PHY_NCSI
> -	if (!phydev)
> +	if (!phydev && interface == PHY_INTERFACE_MODE_NCSI)
>   		phydev = phy_device_create(bus, 0, PHY_NCSI_ID, false);
>   #endif
>   
> @@ -1101,3 +1101,10 @@ int phy_modify(struct phy_device *phydev, int devad, int regnum, u16 mask,
>   
>   	return phy_write(phydev, devad, regnum, (ret & ~mask) | set);
>   }
> +
> +bool phy_interface_is_ncsi(void)
> +{
> +	struct eth_pdata *pdata = dev_get_plat(eth_get_dev());
> +
> +	return pdata->phy_interface == PHY_INTERFACE_MODE_NCSI;
> +}
> diff --git a/net/net.c b/net/net.c
> index 81905f631592..f0faf33d0d77 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -93,6 +93,7 @@
>   #include <net.h>
>   #include <net/fastboot.h>
>   #include <net/tftp.h>
> +#include <net/ncsi.h>
>   #if defined(CONFIG_CMD_PCAP)
>   #include <net/pcap.h>
>   #endif
> @@ -410,6 +411,16 @@ int net_loop(enum proto_t protocol)
>   	net_try_count = 1;
>   	debug_cond(DEBUG_INT_STATE, "--- net_loop Entry\n");
>   
> +#ifdef CONFIG_PHY_NCSI
> +	if (phy_interface_is_ncsi() && protocol != NCSI && !ncsi_active()) {
> +		printf("%s: configuring NCSI first\n", __func__);
> +		if (net_loop(NCSI) < 0)
> +			return ret;
> +		eth_init_state_only();
> +		goto restart;
> +	}
> +#endif
> +
>   	bootstage_mark_name(BOOTSTAGE_ID_ETH_START, "eth_start");
>   	net_init();
>   	if (eth_is_on_demand_init()) {
> @@ -526,6 +537,11 @@ restart:
>   		case WOL:
>   			wol_start();
>   			break;
> +#endif
> +#if defined(CONFIG_PHY_NCSI)
> +		case NCSI:
> +			ncsi_probe_packages();
> +			break;
>   #endif
>   		default:
>   			break;
> @@ -637,7 +653,7 @@ restart:
>   				env_set_hex("filesize", net_boot_file_size);
>   				env_set_hex("fileaddr", image_load_addr);
>   			}
> -			if (protocol != NETCONS)
> +			if (protocol != NETCONS && protocol != NCSI)
>   				eth_halt();
>   			else
>   				eth_halt_state_only();
> @@ -1321,6 +1337,11 @@ void net_process_received_packet(uchar *in_packet, int len)
>   	case PROT_WOL:
>   		wol_receive(ip, len);
>   		break;
> +#endif
> +#ifdef CONFIG_PHY_NCSI
> +	case PROT_NCSI:
> +		ncsi_receive(et, ip, len);
> +		break;
>   #endif
>   	}
>   }
> @@ -1381,6 +1402,9 @@ common:
>   
>   #ifdef CONFIG_CMD_RARP
>   	case RARP:
> +#endif
> +#ifdef CONFIG_PHY_NCSI
> +	case NCSI:
>   #endif
>   	case BOOTP:
>   	case CDP:


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 1/4] net: NC-SI setup and handling
  2022-08-08 12:16 ` [PATCH v4 1/4] net: NC-SI setup and handling Joel Stanley
  2022-08-08 12:57   ` Cédric Le Goater
@ 2022-08-08 18:42   ` Ramon Fried
  2022-10-24 12:21   ` Tom Rini
  2 siblings, 0 replies; 15+ messages in thread
From: Ramon Fried @ 2022-08-08 18:42 UTC (permalink / raw)
  To: Joel Stanley
  Cc: Joe Hershberger, Ryan Chen, BMC-SW, Samuel Mendoza-Jonas,
	Cédric Le Goater, U-Boot Mailing List

On Mon, Aug 8, 2022 at 3:16 PM Joel Stanley <joel@jms.id.au> wrote:
>
> From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
>
> Add the handling of NC-SI ethernet frames, and add a check at the start
> of net_loop() to configure NC-SI before starting other network commands.
>
> Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
> v4: split out cmd addition into a separate patch
> v3:
>  - Fix compilation. There were no configs that enabled the NCSI phy code
>    so it had bitrotted
>  - Use NCSI_PHY instead of CMD_NCSI so NCSI can work without the command
>  - Add phy_interface_is_ncsi() helper, thanks Cédric for this suggestion
>  - Only create NCSI phy device when driver is configured for it
>
>  include/net.h          |  2 +-
>  include/phy.h          |  2 ++
>  drivers/net/phy/ncsi.c |  1 +
>  drivers/net/phy/phy.c  |  9 ++++++++-
>  net/net.c              | 26 +++++++++++++++++++++++++-
>  5 files changed, 37 insertions(+), 3 deletions(-)
>
> diff --git a/include/net.h b/include/net.h
> index e3889a0bc85e..0681b8246323 100644
> --- a/include/net.h
> +++ b/include/net.h
> @@ -558,7 +558,7 @@ extern int          net_restart_wrap;       /* Tried all network devices */
>
>  enum proto_t {
>         BOOTP, RARP, ARP, TFTPGET, DHCP, PING, DNS, NFS, CDP, NETCONS, SNTP,
> -       TFTPSRV, TFTPPUT, LINKLOCAL, FASTBOOT, WOL, UDP
> +       TFTPSRV, TFTPPUT, LINKLOCAL, FASTBOOT, WOL, UDP, NCSI
>  };
>
>  extern char    net_boot_file_name[1024];/* Boot File name */
> diff --git a/include/phy.h b/include/phy.h
> index b32959571069..1e0f8856f629 100644
> --- a/include/phy.h
> +++ b/include/phy.h
> @@ -583,6 +583,8 @@ static inline bool phy_interface_is_sgmii(struct phy_device *phydev)
>                 phydev->interface <= PHY_INTERFACE_MODE_QSGMII;
>  }
>
> +bool phy_interface_is_ncsi(void);
> +
>  /* PHY UIDs for various PHYs that are referenced in external code */
>  #define PHY_UID_CS4340         0x13e51002
>  #define PHY_UID_CS4223         0x03e57003
> diff --git a/drivers/net/phy/ncsi.c b/drivers/net/phy/ncsi.c
> index bf1e832be9f1..bb7ecebed382 100644
> --- a/drivers/net/phy/ncsi.c
> +++ b/drivers/net/phy/ncsi.c
> @@ -9,6 +9,7 @@
>  #include <log.h>
>  #include <malloc.h>
>  #include <phy.h>
> +#include <net.h>
>  #include <net/ncsi.h>
>  #include <net/ncsi-pkt.h>
>  #include <asm/unaligned.h>
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index 1121b99abff5..d04538838852 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -1026,7 +1026,7 @@ struct phy_device *phy_connect(struct mii_dev *bus, int addr,
>  #endif
>
>  #ifdef CONFIG_PHY_NCSI
> -       if (!phydev)
> +       if (!phydev && interface == PHY_INTERFACE_MODE_NCSI)
>                 phydev = phy_device_create(bus, 0, PHY_NCSI_ID, false);
>  #endif
>
> @@ -1101,3 +1101,10 @@ int phy_modify(struct phy_device *phydev, int devad, int regnum, u16 mask,
>
>         return phy_write(phydev, devad, regnum, (ret & ~mask) | set);
>  }
> +
> +bool phy_interface_is_ncsi(void)
> +{
> +       struct eth_pdata *pdata = dev_get_plat(eth_get_dev());
> +
> +       return pdata->phy_interface == PHY_INTERFACE_MODE_NCSI;
> +}
> diff --git a/net/net.c b/net/net.c
> index 81905f631592..f0faf33d0d77 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -93,6 +93,7 @@
>  #include <net.h>
>  #include <net/fastboot.h>
>  #include <net/tftp.h>
> +#include <net/ncsi.h>
>  #if defined(CONFIG_CMD_PCAP)
>  #include <net/pcap.h>
>  #endif
> @@ -410,6 +411,16 @@ int net_loop(enum proto_t protocol)
>         net_try_count = 1;
>         debug_cond(DEBUG_INT_STATE, "--- net_loop Entry\n");
>
> +#ifdef CONFIG_PHY_NCSI
> +       if (phy_interface_is_ncsi() && protocol != NCSI && !ncsi_active()) {
> +               printf("%s: configuring NCSI first\n", __func__);
> +               if (net_loop(NCSI) < 0)
> +                       return ret;
> +               eth_init_state_only();
> +               goto restart;
> +       }
> +#endif
> +
>         bootstage_mark_name(BOOTSTAGE_ID_ETH_START, "eth_start");
>         net_init();
>         if (eth_is_on_demand_init()) {
> @@ -526,6 +537,11 @@ restart:
>                 case WOL:
>                         wol_start();
>                         break;
> +#endif
> +#if defined(CONFIG_PHY_NCSI)
> +               case NCSI:
> +                       ncsi_probe_packages();
> +                       break;
>  #endif
>                 default:
>                         break;
> @@ -637,7 +653,7 @@ restart:
>                                 env_set_hex("filesize", net_boot_file_size);
>                                 env_set_hex("fileaddr", image_load_addr);
>                         }
> -                       if (protocol != NETCONS)
> +                       if (protocol != NETCONS && protocol != NCSI)
>                                 eth_halt();
>                         else
>                                 eth_halt_state_only();
> @@ -1321,6 +1337,11 @@ void net_process_received_packet(uchar *in_packet, int len)
>         case PROT_WOL:
>                 wol_receive(ip, len);
>                 break;
> +#endif
> +#ifdef CONFIG_PHY_NCSI
> +       case PROT_NCSI:
> +               ncsi_receive(et, ip, len);
> +               break;
>  #endif
>         }
>  }
> @@ -1381,6 +1402,9 @@ common:
>
>  #ifdef CONFIG_CMD_RARP
>         case RARP:
> +#endif
> +#ifdef CONFIG_PHY_NCSI
> +       case NCSI:
>  #endif
>         case BOOTP:
>         case CDP:
> --
> 2.35.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 0/4] net: Enable NC-SI support
  2022-08-08 12:16 [PATCH v4 0/4] net: Enable NC-SI support Joel Stanley
                   ` (3 preceding siblings ...)
  2022-08-08 12:16 ` [PATCH v4 4/4] config/aspeed: Enable NC-SI support Joel Stanley
@ 2022-08-23  4:54 ` Joel Stanley
  2022-09-15  1:11   ` Joel Stanley
  4 siblings, 1 reply; 15+ messages in thread
From: Joel Stanley @ 2022-08-23  4:54 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Cédric Le Goater, Samuel Mendoza-Jonas, u-boot

On Mon, 8 Aug 2022 at 12:16, Joel Stanley <joel@jms.id.au> wrote:
>
> Back in 2019 Sam submitted NC-SI support. The NC-SI PHY driver was
> merged (patches 1 and 2), but we never got around to merging patches 3
> and 4:
>
>  https://lore.kernel.org/u-boot/20190618013720.2823-1-sam@mendozajonas.com/
>
> Sam as long since moved on from working on the Aspeed BMCs, but the code
> has been in use in the vendor fork for some time.
>
> This refreshes his patches and enables support in the Aspeed defconfigs,
> giving compile coverage to the NC-SI phy.
>
> v4 splits the ncsi integration and cmd code into separate patches, and
> adds r-b from Ramon and Cédric to patches 3 and 4.

We have review on these patches now. Can we get them merged?

>
> Joel Stanley (1):
>   config/aspeed: Enable NC-SI support
>
> Samuel Mendoza-Jonas (3):
>   net: NC-SI setup and handling
>   cmd: Add ncsi command
>   net/ftgmac100: Add NC-SI mode support
>
>  include/net.h                 |  2 +-
>  include/phy.h                 |  2 ++
>  cmd/net.c                     | 22 ++++++++++++++++++++++
>  drivers/net/ftgmac100.c       | 14 ++++++++++----
>  drivers/net/phy/ncsi.c        |  1 +
>  drivers/net/phy/phy.c         |  9 ++++++++-
>  net/net.c                     | 27 ++++++++++++++++++++++++++-
>  cmd/Kconfig                   |  8 ++++++++
>  configs/evb-ast2500_defconfig |  2 ++
>  configs/evb-ast2600_defconfig |  2 ++
>  10 files changed, 82 insertions(+), 7 deletions(-)
>
> --
> 2.35.1
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 0/4] net: Enable NC-SI support
  2022-08-23  4:54 ` [PATCH v4 0/4] net: " Joel Stanley
@ 2022-09-15  1:11   ` Joel Stanley
  2022-10-18 23:56     ` Joel Stanley
  0 siblings, 1 reply; 15+ messages in thread
From: Joel Stanley @ 2022-09-15  1:11 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW
  Cc: Cédric Le Goater, Samuel Mendoza-Jonas, u-boot

On Tue, 23 Aug 2022 at 04:54, Joel Stanley <joel@jms.id.au> wrote:
>
> On Mon, 8 Aug 2022 at 12:16, Joel Stanley <joel@jms.id.au> wrote:
> >
> > Back in 2019 Sam submitted NC-SI support. The NC-SI PHY driver was
> > merged (patches 1 and 2), but we never got around to merging patches 3
> > and 4:
> >
> >  https://lore.kernel.org/u-boot/20190618013720.2823-1-sam@mendozajonas.com/
> >
> > Sam as long since moved on from working on the Aspeed BMCs, but the code
> > has been in use in the vendor fork for some time.
> >
> > This refreshes his patches and enables support in the Aspeed defconfigs,
> > giving compile coverage to the NC-SI phy.
> >
> > v4 splits the ncsi integration and cmd code into separate patches, and
> > adds r-b from Ramon and Cédric to patches 3 and 4.
>
> We have review on these patches now. Can we get them merged?

ping

>
> >
> > Joel Stanley (1):
> >   config/aspeed: Enable NC-SI support
> >
> > Samuel Mendoza-Jonas (3):
> >   net: NC-SI setup and handling
> >   cmd: Add ncsi command
> >   net/ftgmac100: Add NC-SI mode support
> >
> >  include/net.h                 |  2 +-
> >  include/phy.h                 |  2 ++
> >  cmd/net.c                     | 22 ++++++++++++++++++++++
> >  drivers/net/ftgmac100.c       | 14 ++++++++++----
> >  drivers/net/phy/ncsi.c        |  1 +
> >  drivers/net/phy/phy.c         |  9 ++++++++-
> >  net/net.c                     | 27 ++++++++++++++++++++++++++-
> >  cmd/Kconfig                   |  8 ++++++++
> >  configs/evb-ast2500_defconfig |  2 ++
> >  configs/evb-ast2600_defconfig |  2 ++
> >  10 files changed, 82 insertions(+), 7 deletions(-)
> >
> > --
> > 2.35.1
> >

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 0/4] net: Enable NC-SI support
  2022-09-15  1:11   ` Joel Stanley
@ 2022-10-18 23:56     ` Joel Stanley
  0 siblings, 0 replies; 15+ messages in thread
From: Joel Stanley @ 2022-10-18 23:56 UTC (permalink / raw)
  To: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW, Tom Rini, Simon Glass
  Cc: Cédric Le Goater, Samuel Mendoza-Jonas, u-boot

On Thu, 15 Sept 2022 at 01:11, Joel Stanley <joel@jms.id.au> wrote:
>
> On Tue, 23 Aug 2022 at 04:54, Joel Stanley <joel@jms.id.au> wrote:
> >
> > On Mon, 8 Aug 2022 at 12:16, Joel Stanley <joel@jms.id.au> wrote:
> > >
> > > Back in 2019 Sam submitted NC-SI support. The NC-SI PHY driver was
> > > merged (patches 1 and 2), but we never got around to merging patches 3
> > > and 4:
> > >
> > >  https://lore.kernel.org/u-boot/20190618013720.2823-1-sam@mendozajonas.com/
> > >
> > > Sam as long since moved on from working on the Aspeed BMCs, but the code
> > > has been in use in the vendor fork for some time.
> > >
> > > This refreshes his patches and enables support in the Aspeed defconfigs,
> > > giving compile coverage to the NC-SI phy.
> > >
> > > v4 splits the ncsi integration and cmd code into separate patches, and
> > > adds r-b from Ramon and Cédric to patches 3 and 4.
> >
> > We have review on these patches now. Can we get them merged?
>
> ping

Hello! Is there anything I can do to help get these merged?

>
> >
> > >
> > > Joel Stanley (1):
> > >   config/aspeed: Enable NC-SI support
> > >
> > > Samuel Mendoza-Jonas (3):
> > >   net: NC-SI setup and handling
> > >   cmd: Add ncsi command
> > >   net/ftgmac100: Add NC-SI mode support
> > >
> > >  include/net.h                 |  2 +-
> > >  include/phy.h                 |  2 ++
> > >  cmd/net.c                     | 22 ++++++++++++++++++++++
> > >  drivers/net/ftgmac100.c       | 14 ++++++++++----
> > >  drivers/net/phy/ncsi.c        |  1 +
> > >  drivers/net/phy/phy.c         |  9 ++++++++-
> > >  net/net.c                     | 27 ++++++++++++++++++++++++++-
> > >  cmd/Kconfig                   |  8 ++++++++
> > >  configs/evb-ast2500_defconfig |  2 ++
> > >  configs/evb-ast2600_defconfig |  2 ++
> > >  10 files changed, 82 insertions(+), 7 deletions(-)
> > >
> > > --
> > > 2.35.1
> > >

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 1/4] net: NC-SI setup and handling
  2022-08-08 12:16 ` [PATCH v4 1/4] net: NC-SI setup and handling Joel Stanley
  2022-08-08 12:57   ` Cédric Le Goater
  2022-08-08 18:42   ` Ramon Fried
@ 2022-10-24 12:21   ` Tom Rini
  2 siblings, 0 replies; 15+ messages in thread
From: Tom Rini @ 2022-10-24 12:21 UTC (permalink / raw)
  To: Joel Stanley
  Cc: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW,
	Samuel Mendoza-Jonas, Cédric Le Goater, u-boot

[-- Attachment #1: Type: text/plain, Size: 535 bytes --]

On Mon, Aug 08, 2022 at 09:46:03PM +0930, Joel Stanley wrote:

> From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
> 
> Add the handling of NC-SI ethernet frames, and add a check at the start
> of net_loop() to configure NC-SI before starting other network commands.
> 
> 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>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 2/4] cmd: Add ncsi command
  2022-08-08 12:16 ` [PATCH v4 2/4] cmd: Add ncsi command Joel Stanley
  2022-08-08 12:56   ` Cédric Le Goater
@ 2022-10-24 12:21   ` Tom Rini
  1 sibling, 0 replies; 15+ messages in thread
From: Tom Rini @ 2022-10-24 12:21 UTC (permalink / raw)
  To: Joel Stanley
  Cc: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW,
	Samuel Mendoza-Jonas, Cédric Le Goater, u-boot

[-- Attachment #1: Type: text/plain, Size: 398 bytes --]

On Mon, Aug 08, 2022 at 09:46:04PM +0930, 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>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 3/4] net/ftgmac100: Add NC-SI mode support
  2022-08-08 12:16 ` [PATCH v4 3/4] net/ftgmac100: Add NC-SI mode support Joel Stanley
@ 2022-10-24 12:21   ` Tom Rini
  0 siblings, 0 replies; 15+ messages in thread
From: Tom Rini @ 2022-10-24 12:21 UTC (permalink / raw)
  To: Joel Stanley
  Cc: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW,
	Samuel Mendoza-Jonas, Cédric Le Goater, u-boot

[-- Attachment #1: Type: text/plain, Size: 716 bytes --]

On Mon, Aug 08, 2022 at 09:46:05PM +0930, Joel Stanley wrote:

> From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
> 
> Update the ftgmac100 driver to support NC-SI instead of an mdio phy
> where available. This is a common setup for Aspeed AST2x00 platforms.
> 
> NC-SI mode is determined from the device-tree if either phy-mode sets it
> or the use-ncsi property exists. If set then normal mdio setup is
> skipped in favour of the NC-SI phy.
> 
> 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>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v4 4/4] config/aspeed: Enable NC-SI support
  2022-08-08 12:16 ` [PATCH v4 4/4] config/aspeed: Enable NC-SI support Joel Stanley
@ 2022-10-24 12:21   ` Tom Rini
  0 siblings, 0 replies; 15+ messages in thread
From: Tom Rini @ 2022-10-24 12:21 UTC (permalink / raw)
  To: Joel Stanley
  Cc: Joe Hershberger, Ramon Fried, Ryan Chen, BMC-SW,
	Cédric Le Goater, Samuel Mendoza-Jonas, u-boot

[-- Attachment #1: Type: text/plain, Size: 520 bytes --]

On Mon, Aug 08, 2022 at 09:46:06PM +0930, Joel Stanley wrote:

> Aspeed BMCs are commonly used with NC-SI. A system indicates the driver
> should configure the link over NC-SI using the device tree.
> 
> Add it to the defconfig so we get compile coverage of the driver, even
> if the EVBs do not normally use it.
> 
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-10-24 12:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-08 12:16 [PATCH v4 0/4] net: Enable NC-SI support Joel Stanley
2022-08-08 12:16 ` [PATCH v4 1/4] net: NC-SI setup and handling Joel Stanley
2022-08-08 12:57   ` Cédric Le Goater
2022-08-08 18:42   ` Ramon Fried
2022-10-24 12:21   ` Tom Rini
2022-08-08 12:16 ` [PATCH v4 2/4] cmd: Add ncsi command Joel Stanley
2022-08-08 12:56   ` Cédric Le Goater
2022-10-24 12:21   ` Tom Rini
2022-08-08 12:16 ` [PATCH v4 3/4] net/ftgmac100: Add NC-SI mode support Joel Stanley
2022-10-24 12:21   ` Tom Rini
2022-08-08 12:16 ` [PATCH v4 4/4] config/aspeed: Enable NC-SI support Joel Stanley
2022-10-24 12:21   ` Tom Rini
2022-08-23  4:54 ` [PATCH v4 0/4] net: " Joel Stanley
2022-09-15  1:11   ` Joel Stanley
2022-10-18 23:56     ` Joel Stanley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.