All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
To: u-boot@lists.denx.de
Cc: Samuel Mendoza-Jonas <sam@mendozajonas.com>,
	joel@jms.id.au, clg@kaod.org, openbmc@lists.ozlabs.org,
	joe.hershberger@ni.com, sjg@chromium.org
Subject: [PATCH v2 0/4] NC-SI PHY Support
Date: Tue, 18 Jun 2019 11:37:16 +1000	[thread overview]
Message-ID: <20190618013720.2823-1-sam@mendozajonas.com> (raw)

This series introduces support for the NC-SI protocol to u-boot,
functionality which so far has only been available in vendor trees.

NC-SI (Network Controller Sideband Interface) is a protocol to manage a
sideband connection to a proper network interface, for example a BMC
(Baseboard Management Controller) sharing the NIC of the host system.
Probing and configuration occurs by communicating with the "remote" NIC
via NC-SI control frames (Ethernet header 0x88f8).

Since the RFC[0] the changes have been split out into a few different
patches to make the overall changes more obvious. Additionally a few
small improvements have been added including adding a check to see if
NC-SI is already configured, and marking the PHY bus "reset" as invalid
since it does not define a bus.

An example of NC-SI setup before a normal network command:

=> dhcp
net_loop: configuring NCSI first
ethernet@1e660000: link up, 100 Mbps full-duplex mac:0c:c4:7a:d5:48:43
NCSI: probing channels
NCSI: configuring channel 0
NCSI: configuration done!
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 10.61.161.188 (255 ms)

[0]: https://patchwork.ozlabs.org/patch/1107087/

Changes in v2:
- Fix endianess issue when setting MAC address
- Make checksum offsets easier to read
- Instantiate per-phy ncsi_priv structures
- Update ncsi command help text
- Used update ncsi-pkt.h version to include SPDX header


Samuel Mendoza-Jonas (4):
  phy: Add support for the NC-SI protocol
  phy: Include NC-SI in phy setup
  net/ftgmac100: Add NC-SI mode support
  net: NC-SI setup and handling

 cmd/Kconfig              |   8 +
 cmd/net.c                |  18 +
 drivers/net/ftgmac100.c  |  39 +-
 drivers/net/phy/Kconfig  |   4 +
 drivers/net/phy/Makefile |   1 +
 drivers/net/phy/ncsi.c   | 896 +++++++++++++++++++++++++++++++++++++++
 drivers/net/phy/phy.c    |   7 +
 include/net.h            |   3 +-
 include/net/ncsi-pkt.h   | 442 +++++++++++++++++++
 include/net/ncsi.h       |  14 +
 include/phy.h            |  12 +
 include/phy_interface.h  |   2 +
 net/net.c                |  27 +-
 13 files changed, 1461 insertions(+), 12 deletions(-)
 create mode 100644 drivers/net/phy/ncsi.c
 create mode 100644 include/net/ncsi-pkt.h
 create mode 100644 include/net/ncsi.h

-- 
2.21.0

WARNING: multiple messages have this Message-ID (diff)
From: Samuel Mendoza-Jonas <sam@mendozajonas.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 0/4] NC-SI PHY Support
Date: Tue, 18 Jun 2019 11:37:16 +1000	[thread overview]
Message-ID: <20190618013720.2823-1-sam@mendozajonas.com> (raw)

This series introduces support for the NC-SI protocol to u-boot,
functionality which so far has only been available in vendor trees.

NC-SI (Network Controller Sideband Interface) is a protocol to manage a
sideband connection to a proper network interface, for example a BMC
(Baseboard Management Controller) sharing the NIC of the host system.
Probing and configuration occurs by communicating with the "remote" NIC
via NC-SI control frames (Ethernet header 0x88f8).

Since the RFC[0] the changes have been split out into a few different
patches to make the overall changes more obvious. Additionally a few
small improvements have been added including adding a check to see if
NC-SI is already configured, and marking the PHY bus "reset" as invalid
since it does not define a bus.

An example of NC-SI setup before a normal network command:

=> dhcp
net_loop: configuring NCSI first
ethernet at 1e660000: link up, 100 Mbps full-duplex mac:0c:c4:7a:d5:48:43
NCSI: probing channels
NCSI: configuring channel 0
NCSI: configuration done!
BOOTP broadcast 1
BOOTP broadcast 2
DHCP client bound to address 10.61.161.188 (255 ms)

[0]: https://patchwork.ozlabs.org/patch/1107087/

Changes in v2:
- Fix endianess issue when setting MAC address
- Make checksum offsets easier to read
- Instantiate per-phy ncsi_priv structures
- Update ncsi command help text
- Used update ncsi-pkt.h version to include SPDX header


Samuel Mendoza-Jonas (4):
  phy: Add support for the NC-SI protocol
  phy: Include NC-SI in phy setup
  net/ftgmac100: Add NC-SI mode support
  net: NC-SI setup and handling

 cmd/Kconfig              |   8 +
 cmd/net.c                |  18 +
 drivers/net/ftgmac100.c  |  39 +-
 drivers/net/phy/Kconfig  |   4 +
 drivers/net/phy/Makefile |   1 +
 drivers/net/phy/ncsi.c   | 896 +++++++++++++++++++++++++++++++++++++++
 drivers/net/phy/phy.c    |   7 +
 include/net.h            |   3 +-
 include/net/ncsi-pkt.h   | 442 +++++++++++++++++++
 include/net/ncsi.h       |  14 +
 include/phy.h            |  12 +
 include/phy_interface.h  |   2 +
 net/net.c                |  27 +-
 13 files changed, 1461 insertions(+), 12 deletions(-)
 create mode 100644 drivers/net/phy/ncsi.c
 create mode 100644 include/net/ncsi-pkt.h
 create mode 100644 include/net/ncsi.h

-- 
2.21.0

             reply	other threads:[~2019-06-18  1:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-18  1:37 Samuel Mendoza-Jonas [this message]
2019-06-18  1:37 ` [U-Boot] [PATCH v2 0/4] NC-SI PHY Support Samuel Mendoza-Jonas
2019-06-18  1:37 ` [PATCH v2 1/4] phy: Add support for the NC-SI protocol Samuel Mendoza-Jonas
2019-06-18  1:37   ` [U-Boot] " Samuel Mendoza-Jonas
2019-06-19  2:32   ` Joel Stanley
2019-06-19  2:32     ` [U-Boot] " Joel Stanley
2019-07-09 23:22   ` Joe Hershberger
2019-07-09 23:22     ` Joe Hershberger
2019-06-18  1:37 ` [PATCH v2 2/4] phy: Include NC-SI in phy setup Samuel Mendoza-Jonas
2019-06-18  1:37   ` [U-Boot] " Samuel Mendoza-Jonas
2019-06-19  2:32   ` Joel Stanley
2019-06-19  2:32     ` [U-Boot] " Joel Stanley
2019-07-09 23:24   ` Joe Hershberger
2019-07-09 23:24     ` Joe Hershberger
2019-06-18  1:37 ` [PATCH v2 3/4] net/ftgmac100: Add NC-SI mode support Samuel Mendoza-Jonas
2019-06-18  1:37   ` [U-Boot] " Samuel Mendoza-Jonas
2019-06-18  8:31   ` Cédric Le Goater
2019-06-18  8:31     ` [U-Boot] " Cédric Le Goater
2019-07-09 23:28   ` Joe Hershberger
2019-07-09 23:28     ` Joe Hershberger
2019-06-18  1:37 ` [PATCH v2 4/4] net: NC-SI setup and handling Samuel Mendoza-Jonas
2019-06-18  1:37   ` [U-Boot] " Samuel Mendoza-Jonas
2019-06-19  2:35   ` Joel Stanley
2019-06-19  2:35     ` [U-Boot] " Joel Stanley
2019-06-20  3:35     ` Samuel Mendoza-Jonas
2019-06-20  3:35       ` [U-Boot] " Samuel Mendoza-Jonas
2019-07-09 23:33   ` Joe Hershberger
2019-07-09 23:33     ` Joe Hershberger
2019-09-09  2:34     ` Samuel Mendoza-Jonas
2019-09-09  2:34       ` Samuel Mendoza-Jonas
2019-06-18  8:35 ` [PATCH v2 0/4] NC-SI PHY Support Cédric Le Goater
2019-06-18  8:35   ` [U-Boot] " Cédric Le Goater
2019-06-19  2:27   ` Joel Stanley
2019-06-19  2:27     ` [U-Boot] " Joel Stanley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190618013720.2823-1-sam@mendozajonas.com \
    --to=sam@mendozajonas.com \
    --cc=clg@kaod.org \
    --cc=joe.hershberger@ni.com \
    --cc=joel@jms.id.au \
    --cc=openbmc@lists.ozlabs.org \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.