Hi, I have a custom board that's using powerpc 8544. I am trying to setup the external interrupts using the device tree and I am having no luck getting the interrupt. I think my problem is that I don't have the hwirq to virq mapping correctly. We are using the freescale 8544ds as our base. We have a PCI bus but we are not using PCIE. In my kernel configuration, I have CONFIG_PCIEPORTBUS disabled. The PCI interrupt is connected to IRQ0 and it is working fine. But, my FPGA has three interrupts, IRQ1, IRQ2 and IRQ3. I configure this in the device tree and I've tried many different numbers for the interrupt.
In the KConfig for ppc85xx, the configuration is the following config MPC85xx_DS bool "Freescale MPC8544 DS" #select PPC_I8259 select DEFAULT_UIMAGE select FSL_PCIE config MPC85xx bool select PPC_UDBG_16550 select PPC_INDIRECT_PCI select FSL_PCIE select SERIAL_8250_SHARE_IRQ if SERIAL_8250 default y if MPC8540_ADS || MPC85xx_CDS || MPC8560_ADS \ || MPC85xx_MDS || MPC85xx_DS My .config has the following configuration for PCI ( I am showing the PCI configuration b/c 8544 seems to have different interrupt setup when PCIE is configured) CONFIG_ZONE_DMA=y # CONFIG_MPIC_WEIRD is not set # CONFIG_PPC_I8259 is not set CONFIG_PPC_INDIRECT_PCI=y CONFIG_FSL_SOC=y CONFIG_FSL_PCIE=y CONFIG_PCI=y CONFIG_PCI_DOMAINS=y # CONFIG_PCIEPORTBUS is not set CONFIG_PCI_DEBUG=y My device tree has the following entry for my fpga: cpucp...@f0000000{ compatible = "MPC8544DS"; device_type = "CpuCpld"; reg = <f0000000 00000040>; interrupts = <41 2 42 2 43 2>; interrupt-parent = <&mpic>; }; My driver does the mapping to the virq: np = of_find_node_by_type(NULL, "CpuCpld"); if (!np) { ret = -ENODEV; } cpldCpuDrv->MateIntIrq = irq_of_parse_and_map(np, 0); cpldCpuDrv->FtaIrq = irq_of_parse_and_map(np, 1); cpldCpuDrv->ExtractIrq = irq_of_parse_and_map(np, 2); cpldCpuDrv->XauiIrq = irq_of_parse_and_map(np, 0); of_node_put(np); Does anyone know what the virq should be for these external interrupts? I've tried specifying the actual irq numbers 1,2 and 3 and that doesn't work either. Is there some PCI configuration that's getting in the way? I've tried disabling the FSL_PCIE and I get the same behavior. Any help or pointers will be appreciated. Thanks Nancy
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev