飞思卡尔lpuart Linux驱动程序,如何反转RTS极性?

时间:2015-09-16 19:50:12

标签: linux-device-driver

我正致力于在基于飞思卡尔Vybrid SoC的原型上开发Linux。其中一个嵌入式UARTS用于驱动外部线路驱动器,必须在数据突发的任一侧打开和关闭。

我正在使用UART的RTS输出来执行此选通,但此信号的极性默认情况下与我对外部电路的要求相反。飞思卡尔UART在其中一个控制寄存器中有一个标志,用于在硬件中反转该信号,但似乎没有办法告诉Linux lpuart驱动程序修改它。

我考虑过:

  • 颠覆驱动程序的现有CRTSCTS标志以另外设置/重置该硬件位并使用例如stty从用户空间修改它。 (在我的应用程序中,我目前不需要非反转的RTS。)
  • 制作lpuart驱动程序的副本,该驱动程序始终初始化此特殊控制位并将其称为其他内容,相应地在我的dt文件中修改此uart。
  • 通过例如用户空间设置控制位写/ dev / mem。

但这些似乎都不是一个很好的解决方案。什么是正确的方法?

0 个答案:

没有答案