MT7628/MT7688 修改串口2作为调试串口 所踩的坑
来源:互联网 发布:看cosplay的软件 编辑:程序博客网 时间:2024/05/17 22:11
MTK的芯片设计有些让人搞不懂,非得将串口作为启动选择引脚;
MT76x8 参考其datesheet,TXD0 启动时必须为低电平,TXD1启动时必须保持高电平;
一共最多3个串口,唯独UART2不影响启动;但是UART2与 NET PORT2是复用的;使用uart2必须牺牲1个网口;
准确来说是牺牲所有网口(PORT0除外),因此MT76x8 要么作为单网口使用要么作为5网口使用,没有中间模式;这一点也比较蛋疼;
但这不是我们今天要关心的;今天只谈uart2作为启动串口;
设定uart2作为启动调试串口,需要修改2个地方;一个是uboot,一个是kernel;
首先,在Uboot中 board/rt2880/serial.c,设定串口模式及复位串口;
参考datesheet
RSTCTL偏移地址0x34;
RSTCTL bit12,19,20分别对应uart0,1,2,首先需将其复位;
然后将UART2设为UART-lite模式,其默认为GPIO模式;
修改代码,位于board/rt2880/serial.c serial_setbrg 函数,
//*(unsigned long *)(RALINK_SYSCTL_BASE + 0x0034) |= cpu_to_le32(1<<19|1<<12); *(unsigned long *)(RALINK_SYSCTL_BASE + 0x0034) |= cpu_to_le32(3<<19|1<<12); // 12 19 20 uart012置1 /* RST Control change from W1C to W1W0 to reset, update 20080812 */ //*(unsigned long *)(RALINK_SYSCTL_BASE + 0x0034) &= ~(1<<19|1<<12); *(unsigned long *)(RALINK_SYSCTL_BASE + 0x0034) &= ~(3<<19|1<<12); // 12 19 20 uart012清零,复位控制(复位芯片部分功能) { u32 reg; reg = ra_inl(RT2880_GPIOMODE_REG); reg &= ~(0x3 << 26); // bit 26 27 清零,uart2 //reg |= (0x3 << 2); ra_outl(RT2880_GPIOMODE_REG, reg); }
其次修改board/rt2880/serial.h
#define CFG_RT2880_CONSOLE RT2880_UART3
定义console为uart3
到此Uboot修改完毕。
然后Kernel中,修改比较简单,如使用openwrt,只需在dts中定义console为ttyS2即可;
chosen {bootargs = "console=ttyS2,115200";};
到此全部修改完毕。
阅读全文
0 0
- MT7628/MT7688 修改串口2作为调试串口 所踩的坑
- Wince的调试串口修改
- wince的调试串口作为普通串口使用
- wince的调试串口作为普通串口使用
- wince的调试串口作为普通串口使用
- 树莓派的调试串口作为普通串口使用
- real6410调试串口作为普通串口使用
- Openwrt:基于MT7628/MT7688的PWM驱动
- 修改调试串口
- 修改SMDK6410的调试串口为普通串口(wince系统)
- 修改SMDK6410的调试串口为普通串口(wince系统)
- 修改SMDK6410的调试串口为普通串口(wince系统)
- 修改SMDK6410的调试串口为普通串口(wince系统)
- 修改SMDK6410的调试串口为普通串口(wince系统)
- 修改2440调试串口波特率的方法
- VMWare上的WEC7修改调试串口
- OK6410 修改调试串口为普通串口
- 我的openwrt学习笔记(十三):MT7688 串口测试
- 二级列表layout布局
- Kafka学习整理 (borker(0.9.0及0.10.0)配置)
- 关于unity3d使用sharesdk分享到微信的填坑实践2017
- java常用的的集中设计模式
- JAVA线程池总结
- MT7628/MT7688 修改串口2作为调试串口 所踩的坑
- 12.19
- 测试
- CAD转PDF怎么设置页面大小和背景颜色
- HDFS文件读写
- C# 右键转到定义转到元数据的解决方法
- Python3+OpenCV学习笔记(二):图像几何变换及补边、裁剪
- set 无序,集合的浅理解,add方法,流程可视化解读
- 【Codeforces856C】Eleventh Birthday