[X]关闭

自定义IP的PL中断送给PS,linux驱动无法申请到interrupt

文档创建者:jenny
浏览次数:5848
最后更新:2019-08-27
本帖最后由 jenny 于 2019-8-10 17:37 编辑

fpga工程自定义了ip,有一个PL中断连接到PS。PL dts见下面:
/ {
        amba_pl: amba_pl {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "simple-bus";
                ranges ;
                reader_zhongrf_0: reader_zhongrf@43c00000 {
                        compatible = "xlnx,reader-zhongrf-1.0";
                        interrupt-names = "reader_int";
                        interrupt-parent = <&intc>;
                        interrupts = <0 29 4>;
                        reg = <0x43c00000 0x10000>;
                        xlnx,s00-axi-addr-width = <0x8>;
                        xlnx,s00-axi-data-width = <0x20>;
                };
        };
};


然后,我在linux驱动中申请中断资源,uart打印出来dev request irq failed!


我的驱动部分见下面:
// probe探测函数,在驱动和设备匹配后执行这个函数
static int reader_probe(struct platform_device *pdev)
{         
    int ret;
    struct resource *res;         printk("match ok!");
         res = platform_get_resource(pdev, IORESOURCE_MEM, 0);//获取到资源,资源的定义在reader_dev.c文件中
        reader_base = ioremap(res->start, res->end - res->start + 1);//获取到AXI-GPIO的地址空间,实现内存映射
        printk("reader_probe, found reader\n");
         major = register_chrdev(0, "myreader", &reader_fops);//注册设备
        cls = class_create(THIS_MODULE, "myreader");
         gpio_device = device_create(cls,NULL,MKDEV(major, 0),NULL,"reader");//mknod /dev/hello         
        if(IS_ERR(gpio_device)){
        
                class_destroy(cls);
                unregister_chrdev(major,"myreader");
                return -EBUSY;         
               
        }
    ret = request_irq(61, reader_irq_handler, IRQF_TRIGGER_HIGH|IRQF_SHARED, "reader_int", gpio_device);//注册一个外部中断
    if(ret)
    {
        printk("dev request irq failed!\n");
        return -1;
    }
    else
    {
            printk("dev request irq success!\n");
    }

         return 0;
}




请大牛们帮忙看看是我哪里写得有问题了?



发表评论已发布 1

白猫警督

发表于 2019-8-27 10:06:14 | 显示全部楼层

我最近参与的项目也做了一个类似的设计。我只负责PL侧,如果有PL侧的问题,可以交流。

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

本版积分规则