免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4054 | 回复: 0
打印 上一主题 下一主题

PowerPc DTS 中 PCI中断配置问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-17 15:08 |只看该作者 |倒序浏览
现在的板子有一个外挂的PCI 网口设备。
中断用的 是MPC8313的外部中断 IRQ1, DTS 中 PCI的配置如下:

    pci0: pci@8500 {
                            interrupt-map-mask = <f800 0 0 7>;
                            interrupt-map = <

                                            /* IDSEL 0x13 -PCI slot */
                                             9800 0 0 1 &ipic 12 8
                                             9800 0 0 2 &ipic 12 8
                                             9800 0 0 3 &ipic 12 8
                                             9800 0 0 4 &ipic 12 8

                                            /* IDSEL 0x15 - PCI slot */
                                             A800 0 0 1 &ipic 11 8
                                             A800 0 0 2 &ipic 11 8
                                             A800 0 0 3 &ipic 11 8
                                             A800 0 0 4 &ipic 11 8>;
                            interrupt-parent = < &ipic >;
                            interrupts = <42 8>;
                            bus-range = <0 0>;
                            ranges = <02000000 0 90000000 90000000 0 10000000
                                      42000000 0 80000000 80000000 0 10000000
                                      01000000 0 00000000 e2000000 0 00100000>;
                            clock-frequency = <3f940aa>;
                            #interrupt-cells = <1>;
                            #size-cells = <2>;
                            #address-cells = <3>;
                            reg = <8500 100
                                   8300 8>;
                            compatible = "83xx";
                            device_type = "pci";
                    };
    /* IPIC
                     * interrupts cell = <intr #, sense>
                     * sense values match linux IORESOURCE_IRQ_* defines:
                     * sense == 8: Level, low assertion
                     * sense == 2: Edge, high-to-low change
                     */
                    ipic: pic@700 {
                            interrupt-controller;
                            #address-cells = <0>;
                            #interrupt-cells = <2>;
                            reg = <700 100>;
                            built-in;
                            device_type = "ipic";
                    };

复制代码
上面的dts配置,
pci网口设备在pci槽0x15:
/* IDSEL 0x15 - PCI slot */
                A800 0 0 1 &ipic 11 8
                A800 0 0 2 &ipic 11 8
                A800 0 0 3 &ipic 11 8
                A800 0 0 4 &ipic 11 8


在request_irq后,发现 产生中断后,读网口寄存器,相应状态位没有置位,也就是说,网口认为没有中断产生。
所以我 一配 ifconfig eth2 up
内核就报: irq 23: nobody cared (try booting with the "irqpoll" option)

我的问题是,上面的dts配的有没有问题?
是不是 中断触发方式配的有问题? 8是低电平触发, 高电平触发怎么配?

望大家指点一二,多谢多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP