[X]关闭

设备树配置

文档创建者:xiezhaohai
浏览次数:4401
最后更新:2016-09-02
本帖最后由 xiezhaohai 于 2016-7-25 14:51 编辑

我在数据手册上看见串口的中断号为59和82,而在内核设备树里串口1:
   ps7_uart_1: serial@e0001000 {
                        clock = <50000000>;
                        clock-frequency = <50000000>;
                        compatible = "xlnx,ps7-uart-1.00.a", "xlnx,xuartps";
                        current-speed = <115200>;
                        device_type = "serial";
                        interrupt-parent = <&ps7_scugic_0>;
                        interrupts = < 0 50 4 >;
                        port-number = <0>;
                        reg = < 0xe0001000 0x1000 >;
                        xlnx,has-modem = <0x0>;
                        xlnx,uart-clk-freq-hz = <0x2faf080>;
                };
中断号配置为50,求解答?



发表评论已发布 4

zjsxfkf@163.com

发表于 2016-7-25 16:41:30 | 显示全部楼层

设备树的中断号要实际中断号减去32后的值

cuter

发表于 2016-7-26 10:14:34 | 显示全部楼层

本帖最后由 cuter 于 2016-7-26 10:15 编辑



1、先说设备树中的这个号码是怎么来的。
设备树中的这个号码并不是下图所示的IRQ ID号,而是对应spi_status寄存器的bit位编号。说起来比较拗口,实际上就是下图红色方框内的spi_status_1[18],由于spi_status_1前面还有一个32bits的spi_status_0,所以这里的号码应该是18+32=50。同理,UART0对应spi_status_0[27],设备树中的号码就会是27。

2、设备树中的号码和IRQ ID是如何对应的,楼上已经回答了。

设备树中的号码+32=IRQ ID

对于UART1来讲,50+32=82,82就是UART1的中断号;对于UART0来讲,27+32=59,59是UART0的中断号。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

xiezhaohai

发表于 2016-7-26 15:49:22 | 显示全部楼层

cuter 发表于 2016-7-26 10:14
1、先说设备树中的这个号码是怎么来的。
设备树中的这个号码并不是下图所示的IRQ ID号,而是对应spi_s ...

感谢你的解答,这个问题已解决,再次感谢!

stephenbruce

发表于 2016-9-2 16:43:46 | 显示全部楼层

xiezhaohai 发表于 2016-7-26 15:49
感谢你的解答,这个问题已解决,再次感谢!

楼主你好,请问你能在linux上使用uart0么?我现在调试uart0,收发不正常,似乎还与uart1产生冲突了,不知道怎么解决呢。能加我Q么?有问题想请教下你,谢谢!我Q是:410535087

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则