Linux设备驱动之UART驱动结构(2)

--------------uart_ops-----------------------------uart_driver---------------------------uart_port     // 串口核心层定义,需要我们实现,但是Linuxs3c2410支持很好,我们只有去修改一下



----------s3c24xx_serial-ops-----------------s3c24xx_uart_drv-----------------s3c24xx_uart_port

对于s3c2410支持很好,一般只需要修改一些设备的硬件的一些寄存器设置的差异部分,所以看s3c2440的uart驱动代码的时候发现好少,一开始我都懵了,怎么其他的驱动代码这么多,怎么2440的代码这么少,下一篇文章我将分析一下s3c2440的代码。那么这样一来主要修改的地方时s3c24xx_uart_port的一些设置

s3c24xx_uart_port主要包含一下几个结构

uart_port

s3c24xx_uart_info        ——>主要是UART中的FIFO信息,需要修改

s3c34xx_uart_clksrc     ——>UART时钟、频率 ,需要修改

另外在加上一个结构体 s3c2410_uartcfg ——>硬件端口、寄存器 ,这个需要修改

归纳起来,对于支持完善的s3c2410的Linux来修改成s3c2440的驱动,需要修改的地方就是后面说明的三个结构体啦,所以工作就简单了很多啊。但是整个结构变的复杂了,上面是我自己总结的,图是网上下载的,有什么地方不对或者错误,希望广大网友指出,我好更正。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwzpwx.html