linux内核版本:4.14
pcie转四路串口芯片:亚信的AX99100
linux内核里是没有这块芯片的驱动的,这里自己添加驱动进去进行编译。
1.从亚信官网下载该芯片的linux驱动https://www.asix.com.tw/cs/download.php?sub=driverdetail&PItemID=256
2.在 linux/drivers/tty/serial/的目录下新建一个99xx的目录,把解压之后的文件里除了.cache.mk、Makefile、readme之外的其他13个文件全部放入该目录。
3.在linux-marvell/drivers/tty/serial/99xx目录下创建Makefile文件,内容如下
代码语言:javascript复制obj-$(CONFIG_SERIAL_CH99xx_EXAR) = ax99100_spi.o ax99100_sp.o
4.参照8250下的Kconfig在该目录下创建Kconfig文件,内容如下
代码语言:javascript复制config SERIAL_99xx
tristate "99xx/8250/16550 and compatible serial support"
select SERIAL_CORE
config SERIAL_CH99xx_EXAR
tristate "99xx/8250/16550 Exar/Commtech PCI/PCIe device support"
depends on SERIAL_99xx PCI
default SERIAL_99xx
5.修改linux-marvell/drivers/tty/serial下的Makefile,增加
代码语言:javascript复制obj-$(CONFIG_SERIAL_99xx) = 99xx/
6.修改linux-marvell/drivers/tty/serial下的Kconfig,增加
代码语言:javascript复制source "drivers/tty/serial/99xx/Kconfig"
7.在linux目录下,使用你自己的编译器进入menuconfig进行内核配置(make menuconfig)
8.进入到Device Drivers > Character devices > Serial drivers目录下,勾选以下两个刚才添加的选项,并把8250的两个选项取消选中
9.进行编译,这样就把AX99100的驱动编译进内核里了,验证一下系统起来可以看到四路串口,ttyF0~ttyF3。
版权属于:咖啡走糖
本文链接:https://cloud.tencent.com/developer/article/2152389
若无注明,本文皆咖啡走糖原创,转载时必须注明出处及本声明!