Files
u-boot/include
Samuel Mendoza-Jonas f641a8ac93 phy: Add support for the NC-SI protocol
This introduces support for the NC-SI protocol, modelled as a phy driver
for other ethernet drivers to consume.

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).

This implementation is roughly based on the upstream Linux
implementation[0], with a reduced feature set and an emphasis on getting
a link up as fast as possible rather than probing the full possible
topology of the bus.
The current phy model relies on the network being "up", sending NC-SI
command frames via net_send_packet() and receiving them from the
net_loop() loop (added in a following patch).

The ncsi-pkt.h header[1] is copied from the Linux kernel for consistent
field definitions.

[0]: https://github.com/torvalds/linux/tree/master/net/ncsi
[1]: https://github.com/torvalds/linux/blob/master/net/ncsi/ncsi-pkt.h

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2020-03-09 18:11:23 -05:00
..
2019-12-06 16:44:20 -05:00
2019-10-16 05:42:27 +02:00
2019-11-17 17:22:53 +08:00
2019-07-24 13:16:29 -04:00
2019-12-15 11:44:16 +08:00
2019-11-02 18:00:51 +08:00
2019-09-20 20:09:19 +02:00
2020-02-05 19:33:46 -07:00
2019-07-19 11:11:09 +08:00
2020-01-07 14:37:50 +01:00
2019-04-23 20:26:43 -06:00
2020-02-05 19:33:46 -07:00
2019-10-13 23:34:43 +02:00
2019-04-22 12:06:39 -04:00
2020-01-24 23:06:47 +05:30
2020-01-20 15:38:16 +01:00
2019-12-17 06:58:19 +01:00
2019-10-14 09:31:41 +02:00
2020-01-20 15:38:16 +01:00
2020-01-24 23:06:49 +05:30
2019-11-07 18:39:16 -05:00
2019-08-11 16:43:41 -04:00
2020-01-07 16:03:01 -07:00
2019-12-02 18:23:11 -05:00
2019-08-02 11:19:14 -04:00
2020-02-20 15:09:56 +08:00
2019-05-20 13:50:34 +02:00
2020-01-25 12:04:36 -05:00
2020-03-09 18:11:23 -05:00
2020-02-05 19:33:46 -07:00
2019-12-15 11:44:11 +08:00
2020-03-09 18:11:23 -05:00
2019-05-20 13:50:34 +02:00
2020-02-05 19:33:46 -07:00
2019-12-06 16:44:19 -05:00
2020-02-05 19:33:46 -07:00
2019-05-21 17:33:23 -06:00
2020-01-24 23:06:49 +05:30
2020-01-21 15:56:15 +01:00
2020-02-07 22:46:35 +08:00
2019-12-02 18:23:09 -05:00
2019-07-19 20:14:50 +02:00