Electronic Components Datasheet Search
  English  ▼

X  

UM0851 Datasheet(PDF) 167 Page - STMicroelectronics

Part # UM0851
Description  SPEAr is a family of highly customizable ARM-based embedded
PDF  245 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  STMICROELECTRONICS [STMicroelectronics]
Direct Link  http://www.st.com
Logo STMICROELECTRONICS - STMicroelectronics

UM0851 Datasheet(HTML) 167 Page - STMicroelectronics

Back Button UM0851 Datasheet HTML 163Page - STMicroelectronics UM0851 Datasheet HTML 164Page - STMicroelectronics UM0851 Datasheet HTML 165Page - STMicroelectronics UM0851 Datasheet HTML 166Page - STMicroelectronics UM0851 Datasheet HTML 167Page - STMicroelectronics UM0851 Datasheet HTML 168Page - STMicroelectronics UM0851 Datasheet HTML 169Page - STMicroelectronics UM0851 Datasheet HTML 170Page - STMicroelectronics UM0851 Datasheet HTML 171Page - STMicroelectronics Next Button
Zoom Inzoom in Zoom Outzoom out
 167 / 245 page
background image
UM0851
Accelerator engine device drivers
Doc ID 16604 Rev 2
167/245
DWC_CTL_USER_MODE | DWC_CTL_NON_BUFFERABLE | DWC_CTL_NON_CACHEABLE |
DWC_CTL_DEST_BURST(BURST_8) | DWC_CTL_SRC_BURST(BURST_8) |
DWC_CTL_DEST_WIDTH(width) | DWC_CTL_SRC_WIDTH(width) | DWC_CTL_DEST_ADDR_INC |
DWC_CTL_SRC_ADDR_INC
The default DMA driver cfg configuration for memset and memory-to-memory transfers is:
DWC_CFG_FLOW_CTRL(DMA_MEMORY_TO_MEMORY)
DMA transfer preparation
Before requesting a DMA transfer, you should increment the usage count of channel per
CPU using the following function call.
static inline void dma_chan_get(struct dma_chan *chan);
This is important for multiprocessor systems. This function keeps note of the channel used
per CPU.
There are three different types of transfers:
Memory to memory
Memory to memory or memcpy transfers can be prepared using two different routines.
The first routine is exported from the DMA framework. It first synchronizes source memory
between RAM and cache, then prepares the transfer and finally starts the transfer. On
completion of DMA transfer it does not call any client driver callback. It can work with either
the default configuration of the DMA driver or a configuration provided by the client (if the
slave pointer in the client structure is non NULL).
/*
chan: is a pointer to DMA channel allocated to client.
dest and src: are destination and source memory addresses.
len: number of bytes to be copied.
dma_cookie_t: non negative value of cookie indicates success in preparing and
starting transfer. On error cookie is negative. */
dma_cookie_t dma_async_memcpy_buf_to_buf(struct dma_chan *chan, void *dest, void
*src, size_t len);
For transfer completion notification refer to Transfer completion notification section.
The second routine is exported from the DMA driver. In this routine, synchronization issues
are expected to be handled by the client driver. Firstly you need to prepare transfers, then
assign any callback if required and then start the actual transfer.
A transfer is prepared by the following call.
/* flags: if you don't want the DMA driver to call dma_unmap_single, for src and dest
addresses, after completion of transfer then you can pass DMA_COMPL_SKIP_SRC_UNMAP
or DMA_COMPL_SKIP_DEST_UNMAP in flags parameter (for both bitwise OR is used).
dma_async_tx_descriptor: It is the descriptor which contains the prepared transfer
information. If must be non NULL for successful prepration of DMA transfer. */
struct dma_async_tx_descriptor * device_prep_dma_memcpy(struct dma_chan *chan,
dma_addr_t dest, dma_addr_t src, size_t len, unsigned long flags);
/* It can't be called directly, call it using chan pointer */
tx = chan->device->device_prep_dma_memcpy(chan, dest, src, len, flags);
Check the Start transfer section below for for details on starting the actual transfer.



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com