--------------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的驱动,需要修改的地方就是后面说明的三个结构体啦,所以工作就简单了很多啊。但是整个结构变的复杂了,上面是我自己总结的,图是网上下载的,有什么地方不对或者错误,希望广大网友指出,我好更正。