iTOP-4418开发板和6818开发板 的除去默认 4 个串口的配置和用法。
4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet。

6818 的开发板最多支持 6 路串口,如下图所示,6818 的 datasheet。

根据核心板原理图,如下图所示,第五路和第六路(6818)的串口如下图所示。

如上图所示,串口用到的管脚为 GPIOB28、GPIOB29、GPIOB30 和 GPIOB31。根据网
络标号,可以查询串口默认被配置为其它功能,按键和触摸中断等等功能,如果要使用串口,
又要使用对应的硬件,则需要对驱动源码做对应的修改,用于自己做底板。关于原理图上,管
脚复用部分就不做过多介绍,作者主要介绍,软件配置部分。
另外还可以看到串口 2(uart1)的串口管脚为 GPIOD15 和 GPIOD19,如下图所示。

要配置串口,首先要实现 io 管脚的配置,具体可以参考“iTOP-4418 和 6818-驱动-IO
初始化配置介绍和例程_V1.X”文档。
这里以 4418 为例,如下图所示,打开配置文件“arch/arm/plat-
s5p4418/topeet/include/cfg_gpio.h”,搜索“GPIOD15”和“GPIOD19”可知 tx 和 rx
的配置如下:
GPIOD19 tx

可以根据 GPIOD19 和 GPIOD15 的配置来修改 GPIOB28、GPIOB29、GPIOB30 和
GPIOB31 的配置,依葫芦画瓢即可。
接着需要确认平台文件是否有注册第五路串口的代码,打开 4418 的平台文件
“arch/arm/mach-s5p4418/devices.c”,关于串口的配置,如下图所示。对应的宏定义为
“CONFIG_SERIAL_NXP_UART4”,表明内核驱动已经支持了,关于驱动部分只需要配置
menuconfig 即可。

打开 menuconfig,如下图所示,搜索“CONFIG_SERIAL_NXP_UART4”宏,这个宏定
义没有配置,如果需要串口,这个选项要选中。

要使用更多串口,需要做以下三点:
1 在硬件设计上做修改;
2 做 io 的配置;
3 做串口 menuconfig 的配置。
然后第五路串口就可以使用了。6818 的第六路串口增加也是类似。
