瑞萨RZ/G2L uboot串口多波特率支持介绍

瑞萨RZ/G2L uboot串口多波特率支持介绍本文主要介绍基于瑞萨 64 位 MPU RZ G2L 讨论 uboot 下非常规波特率的支持方法 用于解决客户对 uboot 下特殊波特率的需求 供客户参考

大家好,欢迎来到IT知识分享网。

本文主要介绍基于瑞萨64位MPU RZ/G2L,讨论uboot下非常规波特率的支持方法,用于解决客户对uboot下特殊波特率的需求,供客户参考。

瑞萨RZ/G2L uboot串口多波特率支持介绍

瑞萨RZ/G2L uboot串口多波特率支持介绍

瑞萨RZ/G2L uboot串口多波特率支持介绍

瑞萨RZ/G2L uboot串口多波特率支持介绍

瑞萨RZ/G2L uboot串口多波特率支持介绍

u-boot-source/ include/configs/smarc-rzg2l.h #define CONFIG_SYS_BAUDRATE_TABLE { ,9600}
u-boot-source/drivers/serial/serial_sh.c

函数:

sh_serial_setbrg_generic(): + uint8_t semr; + uint16_t scr; + if (port->clk_mode == EXT_CLK) { unsignedshort dl = DL_VALUE(baudrate, clk); sci_out(port, DL, dl); /* Need wait: Clock * 1/dl * 1/16 */ udelay(( * dl * 16 / clk) * 1000 + 1); } else { + scr = sci_in(port, SCSCR); + semr = sci_in(port, SCSEMR); + + sci_out(port, SCSCR, 0); + + sci_out(port, SCSEMR, 0); + if(9600 == baudrate) + sci_out(port, SCBRR, 163); + elseif( == baudrate) + sci_out(port, SCBRR, 15); + + sci_out(port, SCSEMR, 0x30); + if(9600 == baudrate) + sci_out(port, MDDR, 129); + elseif( == baudrate) + sci_out(port, MDDR, 151); + + udelay(100); + + sci_out(port, SCSEMR, semr); + sci_out(port, SCSCR, scr); + }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/182864.html

(0)
上一篇 2025-07-09 11:15
下一篇 2025-07-09 11:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信