mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-31 22:39:08 +09:00
![Samuel Mendoza-Jonas](/assets/img/avatar_default.png)
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>
35 lines
1.2 KiB
Makefile
35 lines
1.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# (C) Copyright 2008
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
|
|
obj-$(CONFIG_BITBANGMII) += miiphybb.o
|
|
obj-$(CONFIG_B53_SWITCH) += b53.o
|
|
obj-$(CONFIG_MV88E61XX_SWITCH) += mv88e61xx.o
|
|
obj-$(CONFIG_MV88E6352_SWITCH) += mv88e6352.o
|
|
|
|
obj-$(CONFIG_PHYLIB) += phy.o
|
|
obj-$(CONFIG_PHYLIB_10G) += generic_10g.o
|
|
obj-$(CONFIG_PHY_AQUANTIA) += aquantia.o
|
|
obj-$(CONFIG_PHY_ATHEROS) += atheros.o
|
|
obj-$(CONFIG_PHY_BROADCOM) += broadcom.o
|
|
obj-$(CONFIG_PHY_CORTINA) += cortina.o
|
|
obj-$(CONFIG_PHY_DAVICOM) += davicom.o
|
|
obj-$(CONFIG_PHY_ET1011C) += et1011c.o
|
|
obj-$(CONFIG_PHY_LXT) += lxt.o
|
|
obj-$(CONFIG_PHY_MARVELL) += marvell.o
|
|
obj-$(CONFIG_PHY_MICREL_KSZ8XXX) += micrel_ksz8xxx.o
|
|
obj-$(CONFIG_PHY_MICREL_KSZ90X1) += micrel_ksz90x1.o
|
|
obj-$(CONFIG_PHY_MESON_GXL) += meson-gxl.o
|
|
obj-$(CONFIG_PHY_NATSEMI) += natsemi.o
|
|
obj-$(CONFIG_PHY_REALTEK) += realtek.o
|
|
obj-$(CONFIG_PHY_SMSC) += smsc.o
|
|
obj-$(CONFIG_PHY_TERANETICS) += teranetics.o
|
|
obj-$(CONFIG_PHY_TI) += dp83867.o
|
|
obj-$(CONFIG_PHY_XILINX) += xilinx_phy.o
|
|
obj-$(CONFIG_PHY_XILINX_GMII2RGMII) += xilinx_gmii2rgmii.o
|
|
obj-$(CONFIG_PHY_VITESSE) += vitesse.o
|
|
obj-$(CONFIG_PHY_MSCC) += mscc.o
|
|
obj-$(CONFIG_PHY_FIXED) += fixed.o
|
|
obj-$(CONFIG_PHY_NCSI) += ncsi.o
|