Using DMA
Bruce_Leonard at selinc.com
Bruce_Leonard at selinc.com
Mon Nov 10 11:09:51 EST 2008
>
> The Elo device driver is an async DMA back-end driver. That is, you
> don't communicate with that driver directly, you communicate with the
> async library (which is new - so you won't find it in LDD3).
>
Okay, has anyone actually _used_ the Elo driver? I can't get the probe
function to run. I get into of_fsl_dma_init(), but of_fsl_dma_probe()
never executes. I have CONFIG_DMADEVICES and CONFIG_FSL_DMA set in my
.config, obviously since the init function runs. Here's the relevant SOC
portion of my device tree:
soc8349 at e0000000 {
#address-cells = <1>;
#size-cells = <1>;
#interrupt-cells = <2>;
device_type = "soc";
ranges = <0 e0000000 00100000>;
reg = <e0000000 00000200>;
bus-frequency = <0>; // from bootloader
<<<<<<<<<<<<<<< snip >>>>>>>>>>>>>>>>>>>
dma at 82a8 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,mpc8349-dma", "fsl,elo-dma";
reg = <82a8 4>;
ranges = <0 8100 1a8>;
interrupt-parent = <&ipic>;
interrupts = <71 8>;
cell-index = <0>;
dma-channel at 0 {
compatible = "fsl,mpc8349-dma-channel",
"fsl,elo-dma-channel";
reg = <0 80>;
cell-index = <0>;
interrupt-parent = <&ipic>;
interrupts = <71 8>;
};
dma-channel at 80 {
compatible = "fsl,mpc8349-dma-channel",
"fsl,elo-dma-channel";
reg = <80 80>;
cell-index = <1>;
interrupt-parent = <&ipic>;
interrupts = <71 8>;
};
dma-channel at 100 {
compatible = "fsl,mpc8349-dma-channel",
"fsl,elo-dma-channel";
reg = <100 80>;
cell-index = <2>;
interrupt-parent = <&ipic>;
interrupts = <71 8>;
};
dma-channel at 180 {
compatible = "fsl,mpc8349-dma-channel",
"fsl,elo-dma-channel";
reg = <180 28>;
cell-index = <3>;
interrupt-parent = <&ipic>;
interrupts = <71 8>;
};
};
<<<<<<<<<<<<<< snip >>>>>>>>>>>>>>>>>>>>
};
Is there something else I need to do? Or is there something wrong with my
device tree (always a possibility :) ). Any help is appreciated.
Thanks.
Bruce
More information about the Linuxppc-embedded
mailing list