All of lore.kernel.org
 help / color / mirror / Atom feed
* MPC85xx DMA drivers, first testing results.
@ 2007-12-06 21:49 Clemens Koller
  2007-12-07  1:31 ` Timur Tabi
  0 siblings, 1 reply; 2+ messages in thread
From: Clemens Koller @ 2007-12-06 21:49 UTC (permalink / raw)
  To: linuxppc-dev@ozlabs.org

Hi There!

I just tried to use the fsldma on the mpc8540. It seems to work fine
here, but I would be glad if somebody can confirm before I move on:

I added the following to my mpc8540ads compatible board's .dts
(see my comments, where the not yet available documentation
was unclear):

dma@21000 {
         #address-cells = <1>;
         #size-cells = <1>;
         compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma";
         device-id = <0>;
         reg = <21300 4>;        /* DGSR - DMA general status register */
         /* reg = <21000 4>;*/   /* or use offset of DMA machine ??? */
         ranges = <0 21100 200>; /* we have 4 DMA channels at 21100, size=80 each */
         dma-channel@0 {
                 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
                 device-id = <0>; /* or cell-index ??? */
                 reg = <0 80>;
                 interrupt-parent = <&mpic>;
                 interrupts = <14 2>;
         };
         dma-channel@80 {        /* or use 0,1,2,3 instead of 0,80,100,180 ??? */
                 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
                 device-id = <1>;
                 reg = <80 80>;
                 interrupt-parent = <&mpic>;
                 interrupts = <15 2>;
         };
         dma-channel@100 {
                 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
                 device-id = <2>;
                 reg = <100 80>;
                 interrupt-parent = <&mpic>;
                 interrupts = <16 2>;
         };
         dma-channel@180 {
                 compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
                 device-id = <3>;
                 reg = <180 80>;
                 interrupt-parent = <&mpic>;
                 interrupts = <17 2>;
         };
};


$ dmesg then says:

of-fsl-dma e0021300.dma: Probe the Freescale DMA driver for fsl,mpc8540-dma controller at 0xe0021300...
of-fsl-dma-channel e0021100.dma-channe: selftest: start...
of-fsl-dma-channel e0021100.dma-channe: selftest: finished, err=0.
of-fsl-dma-channel e0021100.dma-channe: #0 (fsl,mpc8540-dma-channel), irq 21
of-fsl-dma-channel e0021180.dma-channe: selftest: start...
of-fsl-dma-channel e0021180.dma-channe: selftest: finished, err=0.
of-fsl-dma-channel e0021180.dma-channe: #1 (fsl,mpc8540-dma-channel), irq 22
of-fsl-dma-channel e0021200.dma-channe: selftest: start...
of-fsl-dma-channel e0021200.dma-channe: selftest: finished, err=0.
of-fsl-dma-channel e0021200.dma-channe: #2 (fsl,mpc8540-dma-channel), irq 23
of-fsl-dma-channel e0021280.dma-channe: selftest: start...
of-fsl-dma-channel e0021280.dma-channe: selftest: finished, err=0.
of-fsl-dma-channel e0021280.dma-channe: #3 (fsl,mpc8540-dma-channel), irq 24

I added another dev_info() to get at least a glue that the selftest is run.
It looks like dev_info(fsl_chan->dev, ...); seems to be truncated.

I have no idea if interrupts are working well... the callback isn't
used yet.

Otherwise, nice work! :-) I'm looking forward to see this functionality
in mainline.

Regards,
-- 
Clemens Koller
__________________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Straße 45/1
Linhof Werksgelände
D-81379 München
Tel.089-741518-50
Fax 089-741518-19
http://www.anagramm-technology.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: MPC85xx DMA drivers, first testing results.
  2007-12-06 21:49 MPC85xx DMA drivers, first testing results Clemens Koller
@ 2007-12-07  1:31 ` Timur Tabi
  0 siblings, 0 replies; 2+ messages in thread
From: Timur Tabi @ 2007-12-07  1:31 UTC (permalink / raw)
  To: Clemens Koller; +Cc: linuxppc-dev@ozlabs.org

Clemens Koller wrote:
> Hi There!
> 
> I just tried to use the fsldma on the mpc8540. It seems to work fine
> here, but I would be glad if somebody can confirm before I move on:
> 
> I added the following to my mpc8540ads compatible board's .dts
> (see my comments, where the not yet available documentation
> was unclear):
> 
> dma@21000 {
>          #address-cells = <1>;
>          #size-cells = <1>;
>          compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma";
>          device-id = <0>;
>          reg = <21300 4>;        /* DGSR - DMA general status register */
>          /* reg = <21000 4>;*/   /* or use offset of DMA machine ??? */
>          ranges = <0 21100 200>; /* we have 4 DMA channels at 21100, size=80 each */
>          dma-channel@0 {
>                  compatible = "fsl,mpc8540-dma-channel", "fsl,eloplus-dma-channel";
>                  device-id = <0>; /* or cell-index ??? */
>                  reg = <0 80>;
>                  interrupt-parent = <&mpic>;
>                  interrupts = <14 2>;
>          };

Do this:

                 dma@21300 {
                         #address-cells = <1>;
                         #size-cells = <1>;
                         compatible = "fsl,mpc8540-dma", "fsl,eloplus-dma";
                         cell-index = <0>;
                         reg = <21300 4>; /* DMA general status register */
                         ranges = <0 21100 200>;

                         dma-channel@0 {
                                 compatible = "fsl,mpc8540-dma-channel", 
"fsl,eloplus-dma-channel";
                                 cell-index = <0>;
                                 reg = <0 80>;
                                 interrupt-parent = <&mpic>;
                                 interrupts = <14 2>;
                         };


-- 
Timur Tabi
Linux Kernel Developer @ Freescale

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-12-07  1:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-06 21:49 MPC85xx DMA drivers, first testing results Clemens Koller
2007-12-07  1:31 ` Timur Tabi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.