I don't see a "dma" node in the mpc8377mds.dts (2.6.25).  I found one in 
mpc8610_hpcd.dts and
modeled it after that.

                [EMAIL PROTECTED] {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        compatible = "fsl,elo-dma";
                        cell-index = <0>;
                        reg = <0x82a8 0x4>; /* DMA general status register */
                        ranges = <0x0 0x8100 0x200>;

                        [EMAIL PROTECTED] {
                                compatible = "fsl,elo-dma-channel";
                                cell-index = <0>;
                                reg = <0x0 0x80>;
                                interrupt-parent = <&ipic>;
                                interrupts = <71 0x8>;
                        };
                        [EMAIL PROTECTED] {
                                compatible = "fsl,elo-dma-channel";
                                cell-index = <1>;
                                reg = <0x80 0x80>;
                                interrupt-parent = <&ipic>;
                                interrupts = <71 0x8>;
                        };
                        [EMAIL PROTECTED] {
                                compatible = "fsl,elo-dma-channel";
                                cell-index = <2>;
                                reg = <0x100 0x80>;
                                interrupt-parent = <&ipic>;
                                interrupts = <71 0x8>;
                        };
                        [EMAIL PROTECTED] {
                                compatible = "fsl,elo-dma-channel";
                                cell-index = <3>;
                                reg = <0x180 0x80>;
                                interrupt-parent = <&ipic>;
                                interrupts = <71 0x8>;
                        };
                };

--- Scott Wood <[EMAIL PROTECTED]> wrote:

> Ron Madrid wrote:
> > Here's my code.  There are a few other things that happen but they are 
> > inconsequential to this
> > problem.  I'm sure that the request_irq call is right, especially since it 
> > works if the fsldma
> > drivers are builtin to the kernel.  Also, the irq number 71 comes from the 
> > reference manual
> for
> > them MPC8313.  It is the internal interrupt for the DMA.  I'll do some more 
> > testing in a
> little
> > while to try to determine the cause of the error in request_irq.
> 
> You cannot pass hardware IRQ numbers directly to request_irq() -- it has 
> no idea which IRQ controller you're referring to (even if there happens 
> to be only one on your board).
> 
> You should get the IRQ from the device tree, using 
> irq_of_parse_and_map() on the device node for the DMA channel (see the 
> mpc8377mds device tree for an example DMA node).
> 
> -Scott
> 

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to