18 udphs dma channel control register – Rainbow Electronics AT91CAP9S250A User Manual

Page 907

Advertising
background image

907

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

44.5.18

UDPHS DMA Channel Control Register

Name:

UDPHS_DMACONTROLx [x = 1..6]

Access Type: Read/Write

• CHANN_ENB (Channel Enable Command)

0 = DMA channel is disabled at and no transfer will occur upon request. This bit is also cleared by hardware when the chan-
nel source bus is disabled at end of buffer.

If the UDPHS_DMACONTROL register LDNXT_DSC bit has been cleared by descriptor loading, the firmware will have to
set the corresponding CHANN_ENB bit to start the described transfer, if needed.

If the UDPHS_DMACONTROL register LDNXT_DSC bit is cleared, the channel is frozen and the channel registers may
then be read and/or written reliably as soon as both UDPHS_DMASTATUS register CHANN_ENB and CHANN_ACT flags
read as 0.

If a channel request is currently serviced when this bit is cleared, the DMA FIFO buffer is drained until it is empty, then the
UDPHS_DMASTATUS register CHANN_ENB bit is cleared.

If the LDNXT_DSC bit is set at or after this bit clearing, then the currently loaded descriptor is skipped (no data transfer
occurs) and the next descriptor is immediately loaded.

1 = UDPHS_DMASTATUS register CHANN_ENB bit will be set, thus enabling DMA channel data transfer. Then any pend-
ing request will start the transfer. This may be used to start or resume any requested transfer.

• LDNXT_DSC: Load Next Channel Transfer Descriptor Enable (Command)

0 = no channel register is loaded after the end of the channel transfer.

1 = th e ch anne l contro ller loads the next descripto r a fte r th e e nd of the curren t tra nsfer, i.e . whe n th e
UDPHS_DMASTATUS/CHANN_ENB bit is reset.

If the UDPHS_DMA CONTROL/CHANN_ENB bit is cleared, the next descriptor is immediately loaded upon transfer
request.

31

30

29

28

27

26

25

24

BUFF_LENGTH

23

22

21

20

19

18

17

16

BUFF_LENGTH

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

BURST_LCK

DESC_LD_IT

END_BUFFIT

END_TR_IT

END_B_EN

END_TR_EN

LDNXT_DSC

CHANN_ENB

LDNXT_DSC

CHANN_ENB

Description

0

0

Stop now

0

1

Run and stop at end of buffer

1

0

Load next descriptor now

1

1

Run and link at end of buffer

Advertising