I am debugging an audio driver on a PXA255 based system that uses the I2S
unit to perform playback of a WAV file.

When setting up the DMA descriptors for a transfer of audio data out the I2S
Unit there are some addresses which are required:

Word 0: DDADRx (DMA Descriptor Address Register) Points to the next four
word descriptor.
Word 1: DSADRx (DMA Source Address Register)
Word 2: DTADRx (DMA Target Address Register)
Word 3: DCMDx (DMA Command Register)

Do the addresses provided have to be PHYSICAL or UNCACHED_VIRTUAL (since the
driver is executing under the device manager)?

Does the address in the DTADRx have to be the address of the I2S unit SADR
register? (Which would be Physical 0x4040_0080, Virtual whatever).

The address in the DSADRx is the address of the actual data, but is it a
Physical or Virtual address?

Thanks for the help!

Re: DMA on a PXA255 by Steve

Steve
Mon Jan 10 17:05:44 CST 2005

The DMA controller deals ONLY in Physical addresses so any values for
addresses you write into it MUST be a PHYSICAL address.

--
Steve Maillet
EmbeddedFusion
www.EmbeddedFusion.com
smaillet at EmbeddedFusion dot com



Re: DMA on a PXA255 by Dale

Dale
Tue Jan 11 09:12:08 CST 2005

Thanks Steve. That certainly answers my question.



"Steve Maillet (eMVP)" <nospam1@EntelechyConsulting.com> wrote in message
news:Oz2Pvj29EHA.2700@TK2MSFTNGP14.phx.gbl...
> The DMA controller deals ONLY in Physical addresses so any values for
> addresses you write into it MUST be a PHYSICAL address.
>
> --
> Steve Maillet
> EmbeddedFusion
> www.EmbeddedFusion.com
> smaillet at EmbeddedFusion dot com
>
>