在飞腾D2000/8平台下ubuntu内核添加WX1860和WX1820的驱动
UD VPX-404采用FT D2000/8平台,支持UEFI+麒麟V10和UBOOT+ubantu两种模式。uboot启动后,网卡芯片WX1860和WX1820是挂载到X100的PCIe口的,故需要添加驱动。
- 内核添加网讯1860驱动
- 创建文件ngbe目录
在phytium-linux-kernel-kernel-5.10_v2.0_network/drivers/net/ethernet目录下创建ngbe文件夹,输入mkdir ngbe
- 拷贝源文件
将1860驱动源码拷贝到ngbe目录下。
进入ngbe-1.2.2/src目录下输入:cp -r * phytium-linux-kernel-kernel-5.10_v2.0_network/drivers/net/ethernet/ngbe/
- 添加配置选项
在ngbe目录下创建Kconfig文件,输入以下配置:
# SPDX-License-Identifier: GPL-2.0
config NGBE
tristate "WangXun NGBE Ethernet support"
depends on PCI
select PHYLIB
select CRC32
select PTP_1588_CLOCK
help
This driver supports WangXun NGBE gigabit Ethernet adapters.
To compile his driver as a module, choose M here. The module
will be called ngbe.
- 在ngbe创建 下Makefile:
输入:
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_NGBE) += ngbe.o
ngbe-objs := ngbe_main.o ngbe_lib.o ngbe_ethtool.o ngbe_param.o \
ngbe_phy.o ngbe_mbx.o ngbe_hw.o ngbe_ptp.o \
kcompat.o kcompat_ethtool.o
ngbe-$(CONFIG_DEBUG_FS) += ngbe_debugfs.o
ngbe-$(CONFIG_PCI_IOV) += ngbe_sriov.o
ngbe-$(CONFIG_PCI_IOV) += ngbe_pcierr.o
ngbe-$(CONFIG_PROC_FS) += ngbe_procfs.o
ngbe-$(CONFIG_SYSFS) += ngbe_sysfs.o
- 修改 vim drivers/net/ethernet/Kconfig
添加source "drivers/net/ethernet/ngbe/Kconfig"
- 修改drivers/net/ethernet/Makefile
添加:obj-$(CONFIG_NGBE) += ngbe/
- 内核添加网讯1820驱动
- 修改内核源码文件夹/drivers/net/ethernet/的Kconfig
在Kconfig的config DNET下方长列“source”处插入
source "drivers/net/ethernet/wangxun/Kconfig"
- 修改内核源码文件夹/drivers/net/ethernet/的Makefile
任意行插入:obj-$(CONFIG_NET_VENDOR_WANGXUN) += wangxun/
- 在内核源码文件夹/drivers/net/ethernet/下创建wangxun目录
将驱动源码src文件夹复制进该wangxun文件夹并更名为txgbe
- 在drivers/net/ethernet/wangxun下创建Kconfig
输入Kconfig内容:
config NET_VENDOR_WANGXUN
bool "Wangxun devices"
default y
if NET_VENDOR_WANGXUN
config TXGBE
tristate "Wangxun(R) 10GbE PCI Express adapters support"
depends on PCI
depends on PTP_1588_CLOCK
select MDIO
select PHYLIB
endif # NET_VENDOR_WANGXUN
- 在drivers/net/ethernet/wangxun下创建Makefile
输入:obj-$(CONFIG_TXGBE) += txgbe/