MT7621有三个串口,项目需要将三个串口都使能;
首先按照openwrt的方法修改DTS文件来使能串口2和串口3是不行的,经试验,还是要按照MTK传统的方法,修改内核源码来解决;不同SDK版本可能不一定相同,因此仅供参考。
一)首先修改gpio mode使能串口2和串口3;
原厂SDK,默认串口3是不使能的;需要通过修改ralink_gpio.h和ralink_gpio.c来先将串口3使能;
linux-ramips_mt7621/linux-3.10.14-p112871/drivers/char/ralink_gpio.h
下面是#define RALINK_GPIOMODE_UART3 和 #define RALINK_GPIOMODE_UART2的默认定义
#elif defined (CONFIG_RALINK_MT7621)
#define RALINK_GPIOMODE_UART1 0x02
#define RALINK_GPIOMODE_I2C 0x04
#define RALINK_GPIOMODE_UART3 0x08
#define RALINK_GPIOMODE_UART2 0x20
#define RALINK_GPIOMODE_JTAG 0x80
#define RALINK_GPIOMODE_WDT 0x100
#define RALINK_GPIOMODE_PERST 0x400
#define RALINK_GPIOMODE_MDIO 0x1000
#define RALINK_GPIOMODE_GE1 0x4000
#define RALINK_GPIOMODE_GE2 0x8000
#define RALINK_GPIOMODE_SPI 0x10000
#define RALINK_GPIOMODE_SDXC 0x40000
#define RALINK_GPIOMODE_ESWINT 0x100000
#elif defined (CONFI