泽源 发表于 2015-7-2 12:02:08

Linux下移植串口扩展芯片SC16C554的驱动遇到的问题

本帖最后由 泽源 于 2015-7-2 12:35 编辑

最近几天在搞sc16c554芯片的驱动移植工作,但是移植过程中遇到了一些问题,我就按着流程介绍一下吧:以下是原理图,采用3-8译码器来选择具体的某个串口。



内核自带的8250.c驱动我只是直接指定中断触发方式为上升沿,其他未做任何修改。
这个是我写的设备资源驱动:8250_exar_sc16c554.c:


我的配置:


以下这个寄存器是用来设置BANK位宽的,我设置的是8位,见以上代码截图。



注册之后出现的问题:


我把PORT数由8个改为7个或者更少的时候,每次都是最后一个PORT注册成功。例如如上我的代码中有8个PORT,那么注册成功的是


哪位前辈弄过呢,我的问题出现在哪里?


泽源 发表于 2015-7-2 14:36:19

灭有人顶吗{:dizzy:}

右手边 发表于 2018-3-14 11:27:23

兄弟你的问题解决了吗,我们最近也在调试这个,但是中断经常会读取不到!

泽源 发表于 2018-7-30 18:44:36

我也忘了后来是怎么解决的了。
页: [1]
查看完整版本: Linux下移植串口扩展芯片SC16C554的驱动遇到的问题