Using IDMA1 ( or IDMA2 ) on 860

Dan Malek dan at mvista.com
Mon Aug 20 06:41:38 EST 2001


John Francis wrote:

> May be I should have been more specific, yes I have
> setup the PC15 pin to have correct direction.

Well, your description indicated you were expecting the
transition of DREQ to generate an interrupt.  This isn't
the case.  Have you connected a logic analyzer to the bus
and determined the DMA is working correctly?

> /* version2 of GetChipAddress this WORKS why? */

Because you can't directly access physical bus addresses from
the kernel.  They have to be mapped to some virtual address.
The IMMR is mapped to a well known address that can generally
be used anywhere in the kernel.  Anything else must be mapped,
as your example shows.  Just make sure you do this _once_,
don't keep calling ioremap() over and over or you will exhaust
the VM space and get a different address every time.


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list