\n

LPDMA

Peripheral Memory Blocks

address_offset : 0x0 Bytes (0x0)
size : 0x1000 byte (0x0)
mem_usage : registers
protection :

Registers

LPDMA_SECCFGR

LPDMA_SMISR

LPDMA_C1TR1

LPDMA_C1TR2

LPDMA_C1BR1

LPDMA_C1SAR

LPDMA_C1DAR

LPDMA_C1LLR

LPDMA_C2LBAR

LPDMA_C2FCR

LPDMA_C2SR

LPDMA_C2CR

LPDMA_C2TR1

LPDMA_C2TR2

LPDMA_C2BR1

LPDMA_C2SAR

LPDMA_C2DAR

LPDMA_C2LLR

LPDMA_C3LBAR

LPDMA_C3FCR

LPDMA_C3SR

LPDMA_C3CR

LPDMA_C3TR1

LPDMA_C3TR2

LPDMA_C3BR1

LPDMA_C3SAR

LPDMA_C3DAR

LPDMA_C3LLR

LPDMA_PRIVCFGR

LPDMA_C0LBAR

LPDMA_C0FCR

LPDMA_C0SR

LPDMA_C0CR

LPDMA_RCFGLOCKR

LPDMA_C0TR1

LPDMA_C0TR2

LPDMA_C0BR1

LPDMA_C0SAR

LPDMA_C0DAR

LPDMA_MISR

LPDMA_C0LLR

LPDMA_C1LBAR

LPDMA_C1FCR

LPDMA_C1SR

LPDMA_C1CR


LPDMA_SECCFGR

LPDMA secure configuration register
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_SECCFGR LPDMA_SECCFGR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SEC0 SEC1 SEC2 SEC3

SEC0 : SEC0
bits : 0 - 0 (1 bit)
access : read-write

SEC1 : SEC1
bits : 1 - 1 (1 bit)
access : read-write

SEC2 : SEC2
bits : 2 - 2 (1 bit)
access : read-write

SEC3 : SEC3
bits : 3 - 3 (1 bit)
access : read-write


LPDMA_SMISR

LPDMA secure masked interrupt status register
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_SMISR LPDMA_SMISR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MIS0 MIS1 MIS2 MIS3

MIS0 : MIS0
bits : 0 - 0 (1 bit)
access : read-only

MIS1 : MIS1
bits : 1 - 1 (1 bit)
access : read-only

MIS2 : MIS2
bits : 2 - 2 (1 bit)
access : read-only

MIS3 : MIS3
bits : 3 - 3 (1 bit)
access : read-only


LPDMA_C1TR1

LPDMA channel 1 transfer register 1
address_offset : 0x110 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1TR1 LPDMA_C1TR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SDW_LOG2 SINC PAM SSEC DDW_LOG2 DINC DSEC

SDW_LOG2 : binary logarithm of the source data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. a source block size must be a multiple of the source data width (LPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address LPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued.
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

SINC : source incrementing single The source address, pointed by LPDMA_CxSAR, is kept constant after a single transfer or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

PAM : padding/alignment mode If DDW_LOG2[1:0]=SDW_LOG2[1:0]: if the data width of a single destination transfer is equal to the data width of a single source transfer, this bit is ignored. Else: Case 1: If destination data width > source data width Case 2: If destination data width < source data width
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

End of enumeration elements list.

SSEC : security attribute of the LPDMA transfer from the source If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx =1 . A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer from the source is non-secure.
bits : 15 - 15 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.

DDW_LOG2 : binary logarithm of the destination data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination single transfer must have an aligned address with its data width (start address LPDMA_CxDAR[2:0] versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and none transfer is issued.
bits : 16 - 17 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

DINC : destination incrementing single The destination address, pointed by LPDMA_CxDAR, is kept constant after a single transfer, or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 19 - 19 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

DSEC : security attribute of the LPDMA transfer to the destination If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx = 1. A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer to the destination is non-secure.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.


LPDMA_C1TR2

LPDMA channel 1 transfer register 2
address_offset : 0x114 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1TR2 LPDMA_C1TR2 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 REQSEL SWREQ BREQ TRIGM TRIGSEL TRIGPOL TCEM

REQSEL : DMA hardware request selection These bits are ignored if channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per request. Note: The user must not assign a same input hardware request (same REQSEL[4:0] value) to different active DMA channels (LPDMA_CxCR.EN = 1 and LPDMA_CxTR2.SWREQ = 0 for these channels). DMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting.
bits : 0 - 4 (5 bit)
access : read-write

SWREQ : software request This bit is internally taken into account when LPDMA_CxCR.EN is asserted.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no software request. The selected hardware request REQSEL[4:0] is taken into account.

0x1 : B_0x1

software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[4:0] is ignored.

End of enumeration elements list.

BREQ : block hardware request If the channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a single level.

0x1 : B_0x1

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see request as a block request).

End of enumeration elements list.

TRIGM : trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (LPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 0b00 or 0b11, these TRIGM[1:0] bits are ignored. Else, a DMA transfer is conditioned by at least one trigger hit: The LPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 0b01 or respectively TRIGPOL[1:0] = 0b10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[4:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the LPDMA_CxTR2 with a new value for any of TRIGSEL[4:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized, and a trigger overrun flag is reported (LPDMA_CxSR.TOF = 1), an interrupt is generated if enabled (LPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun.
bits : 14 - 15 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level: the first single read of each block transfer is conditioned by one hit trigger.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned.

0x3 : B_0x3

at programmed single level: each programmed single read is conditioned by one hit trigger.

End of enumeration elements list.

TRIGSEL : trigger event input selection These bits select the trigger event input of the LPDMA transfer (as per Programmed LPDMA1 trigger), with an active trigger event if TRIGPOL[1:0] = 00.
bits : 16 - 20 (5 bit)
access : read-write

TRIGPOL : trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[4:0].
bits : 24 - 25 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no trigger (masked trigger event)

0x1 : B_0x1

trigger on the rising edge

0x2 : B_0x2

trigger on the falling edge

0x3 : B_0x3

same as 00

End of enumeration elements list.

TCEM : transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1.
bits : 30 - 31 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level (when LPDMA_CxBR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer), if any data transfer.

0x3 : B_0x3

at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address LPDMA_CxLLR.LA[15:2] to zero and clears all the LPDMA_CxLLR update bits (UT1, UT2, UB1, USA, UDA and ULL). If the channel transfer is continuous/infinite, no event is generated.

End of enumeration elements list.


LPDMA_C1BR1

LPDMA channel 1 block register 1
address_offset : 0x118 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1BR1 LPDMA_C1BR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BNDT

BNDT : block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if LPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if LPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all LPDMA_CxLLR.Uxx = 0 and if LPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if LPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued.
bits : 0 - 15 (16 bit)
access : read-write


LPDMA_C1SAR

LPDMA channel 1 source address register
address_offset : 0x11C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1SAR LPDMA_C1SAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SA

SA : source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (LPDMA_CxTR1.SINC), this field is either kept fixed or incremented by the data width (LPDMA_CxTR1.SDW_LOG2[1:0]) after each single source data, reflecting the next address from which data is read. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by LPDMA from the memory, provided the LLI is set with LPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source single (SA[32:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_C1DAR

LPDMA channel 1 destination address register
address_offset : 0x120 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1DAR LPDMA_C1DAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DA

DA : destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (LPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (LPDMA_CxTR1.DDW_LOG2[21:0]) after each single destination data, reflecting the next address from which data is written. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by DMA from the memory, provided the LLI is set with LPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination single (DA[2:0] versus LPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_C1LLR

LPDMA channel 1 linked-list address register
address_offset : 0x14C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1LLR LPDMA_C1LLR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LA ULL UDA USA UB1 UT2 UT1

LA : pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list DMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list DMA internal register file (LPDMA_CxCTR1, LPDMA_CxTR2, LPDMA_CxBR1, LPDMA_CxSAR, LPDMA_CxDAR and LPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored.
bits : 2 - 15 (14 bit)
access : read-write

ULL : Update LPDMA_CxLLR register from memory This bit is used to control the update of the LPDMA_CxLLR register from the memory during the link transfer.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxLLR update

0x1 : B_0x1

LPDMA_CxLLR update

End of enumeration elements list.

UDA : Update LPDMA_CxDAR register from memory This bit is used to control the update of the LPDMA_CxDAR register from the memory during the link transfer.
bits : 27 - 27 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxDAR update

0x1 : B_0x1

LPDMA_CxDAR update

End of enumeration elements list.

USA : update LPDMA_CxSAR from memory This bit controls the update of the LPDMA_CxSAR register from the memory during the link transfer.
bits : 28 - 28 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxSAR update

0x1 : B_0x1

LPDMA_CxSAR update

End of enumeration elements list.

UB1 : Update LPDMA_CxBR1 from memory This bit controls the update of the LPDMA_CxBR1 register from the memory during the link transfer.
bits : 29 - 29 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxBR1 update from memory and internally restored to the previous programmed value

0x1 : B_0x1

LPDMA_CxBR1 update

End of enumeration elements list.

UT2 : Update LPDMA_CxTR2 from memory This bit controls the update of the LPDMA_CxTR2 register from the memory during the link transfer.
bits : 30 - 30 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR2 update

0x1 : B_0x1

LPDMA_CxTR2 update

End of enumeration elements list.

UT1 : Update LPDMA_CxTR1 from memory This bit controls the update of the LPDMA_CxTR1 register from the memory during the link transfer.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR1 update

0x1 : B_0x1

LPDMA_CxTR1 update

End of enumeration elements list.


LPDMA_C2LBAR

LPDMA channel 2 linked-list base address register
address_offset : 0x150 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2LBAR LPDMA_C2LBAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LBA

LBA : linked-list base address of LPDMA channel x
bits : 16 - 31 (16 bit)
access : read-write


LPDMA_C2FCR

LPDMA channel 2 flag clear register
address_offset : 0x15C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2FCR LPDMA_C2FCR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TCF HTF DTEF ULEF USEF SUSPF TOF

TCF : transfer complete flag clear
bits : 8 - 8 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding TCF flag cleared

End of enumeration elements list.

HTF : half transfer flag clear
bits : 9 - 9 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding HTF flag cleared

End of enumeration elements list.

DTEF : data transfer error flag clear
bits : 10 - 10 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding DTEF flag cleared

End of enumeration elements list.

ULEF : update link transfer error flag clear
bits : 11 - 11 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding ULEF flag cleared

End of enumeration elements list.

USEF : user setting error flag clear
bits : 12 - 12 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding USEF flag cleared

End of enumeration elements list.

SUSPF : completed suspension flag clear
bits : 13 - 13 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding SUSPF flag cleared

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C2SR

LPDMA channel 2 status register
address_offset : 0x160 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2SR LPDMA_C2SR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IDLEF TCF HTF DTEF ULEF USEF SUSPF TOF

IDLEF : idle flag This idle flag is de-asserted by hardware when the channel is enabled (LPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state).
bits : 0 - 0 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

channel not in idle state

0x1 : B_0x1

channel in idle state

End of enumeration elements list.

TCF : transfer complete flag A transfer complete event is a block transfer complete or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode LPDMA_CxTR2.TCEM[1:0].
bits : 8 - 8 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no transfer complete event

0x1 : B_0x1

a transfer complete event occurred

End of enumeration elements list.

HTF : half transfer flag An half transfer event is an half block transfer that occurs when half of the bytes of the source block size (rounded-up integer of LPDMA_CxBR1.BNDT[15:0] / 2) has been transferred to the destination.
bits : 9 - 9 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no half transfer event

0x1 : B_0x1

an half transfer event occurred

End of enumeration elements list.

DTEF : data transfer error flag
bits : 10 - 10 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no data transfer error event

0x1 : B_0x1

a master bus error event occurred on a data transfer

End of enumeration elements list.

ULEF : update link transfer error flag
bits : 11 - 11 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no update link transfer error event

0x1 : B_0x1

a master bus error event occurred while updating a linked-list register from memory

End of enumeration elements list.

USEF : user setting error flag
bits : 12 - 12 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no user setting error event

0x1 : B_0x1

a user setting error event occurred

End of enumeration elements list.

SUSPF : completed suspension flag
bits : 13 - 13 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no completed suspension event

0x1 : B_0x1

a completed suspension event occurred

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C2CR

LPDMA channel 2 control register
address_offset : 0x164 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2CR LPDMA_C2CR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EN RESET SUSP TCIE HTIE DTEIE ULEIE USEIE SUSPIE TOIE LSM PRIO

EN : enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: ignored, read: channel disabled

0x1 : B_0x1

write: enable channel, read: channel enabled

End of enumeration elements list.

RESET : reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (LPDMA_CxSR.SUSPF = 1 and LPDMA_CxSR.IDLEF = LPDMA_CxCR.EN = 1) - channel in disabled state (LPDMA_CxSR.IDLEF = 1 and LPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (LPDMA_CxBR1, LPDMA_CxSAR and LPDMA_CxDAR) before enabling again the channel (see the programming sequence in ).
bits : 1 - 1 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no channel reset

0x1 : B_0x1

channel reset

End of enumeration elements list.

SUSP : suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going DMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in sequence.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: resume channel, read: channel not suspended

0x1 : B_0x1

write: suspend channel, read: channel suspended.

End of enumeration elements list.

TCIE : transfer complete interrupt enable
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

HTIE : half transfer complete interrupt enable
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

DTEIE : data transfer error interrupt enable
bits : 10 - 10 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

ULEIE : update link transfer error interrupt enable
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

USEIE : user setting error interrupt enable
bits : 12 - 12 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

SUSPIE : completed suspension interrupt enable
bits : 13 - 13 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

TOIE : trigger overrun interrupt enable
bits : 14 - 14 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

LSM : Link step mode First the block transfer is executed as defined by the current internal register file until LPDMA_CxBR1.BNDT[15:0 ] =0). Secondly the next linked-list data structure is conditionally uploaded from memory as defined by LPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

channel executed for the full linked-list and completed at the end of the last LLI (LPDMA_CxLLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0). Then LPDMA_CxBR1.BNDT[15:0] = 0.

0x1 : B_0x1

channel executed once for the current LLI

End of enumeration elements list.

PRIO : priority level of the channel x LPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1.
bits : 22 - 23 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

low priority, low weight

0x1 : B_0x1

low priority, mid weight

0x2 : B_0x2

low priority, high weight

0x3 : B_0x3

high priority

End of enumeration elements list.


LPDMA_C2TR1

LPDMA channel 2 transfer register 1
address_offset : 0x190 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2TR1 LPDMA_C2TR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SDW_LOG2 SINC PAM SSEC DDW_LOG2 DINC DSEC

SDW_LOG2 : binary logarithm of the source data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. a source block size must be a multiple of the source data width (LPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address LPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued.
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

SINC : source incrementing single The source address, pointed by LPDMA_CxSAR, is kept constant after a single transfer or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

PAM : padding/alignment mode If DDW_LOG2[1:0]=SDW_LOG2[1:0]: if the data width of a single destination transfer is equal to the data width of a single source transfer, this bit is ignored. Else: Case 1: If destination data width > source data width Case 2: If destination data width < source data width
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

End of enumeration elements list.

SSEC : security attribute of the LPDMA transfer from the source If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx =1 . A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer from the source is non-secure.
bits : 15 - 15 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.

DDW_LOG2 : binary logarithm of the destination data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination single transfer must have an aligned address with its data width (start address LPDMA_CxDAR[2:0] versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and none transfer is issued.
bits : 16 - 17 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

DINC : destination incrementing single The destination address, pointed by LPDMA_CxDAR, is kept constant after a single transfer, or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 19 - 19 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

DSEC : security attribute of the LPDMA transfer to the destination If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx = 1. A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer to the destination is non-secure.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.


LPDMA_C2TR2

LPDMA channel 2 transfer register 2
address_offset : 0x194 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2TR2 LPDMA_C2TR2 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 REQSEL SWREQ BREQ TRIGM TRIGSEL TRIGPOL TCEM

REQSEL : DMA hardware request selection These bits are ignored if channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per request. Note: The user must not assign a same input hardware request (same REQSEL[4:0] value) to different active DMA channels (LPDMA_CxCR.EN = 1 and LPDMA_CxTR2.SWREQ = 0 for these channels). DMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting.
bits : 0 - 4 (5 bit)
access : read-write

SWREQ : software request This bit is internally taken into account when LPDMA_CxCR.EN is asserted.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no software request. The selected hardware request REQSEL[4:0] is taken into account.

0x1 : B_0x1

software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[4:0] is ignored.

End of enumeration elements list.

BREQ : block hardware request If the channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a single level.

0x1 : B_0x1

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see request as a block request).

End of enumeration elements list.

TRIGM : trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (LPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 0b00 or 0b11, these TRIGM[1:0] bits are ignored. Else, a DMA transfer is conditioned by at least one trigger hit: The LPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 0b01 or respectively TRIGPOL[1:0] = 0b10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[4:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the LPDMA_CxTR2 with a new value for any of TRIGSEL[4:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized, and a trigger overrun flag is reported (LPDMA_CxSR.TOF = 1), an interrupt is generated if enabled (LPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun.
bits : 14 - 15 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level: the first single read of each block transfer is conditioned by one hit trigger.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned.

0x3 : B_0x3

at programmed single level: each programmed single read is conditioned by one hit trigger.

End of enumeration elements list.

TRIGSEL : trigger event input selection These bits select the trigger event input of the LPDMA transfer (as per Programmed LPDMA1 trigger), with an active trigger event if TRIGPOL[1:0] = 00.
bits : 16 - 20 (5 bit)
access : read-write

TRIGPOL : trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[4:0].
bits : 24 - 25 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no trigger (masked trigger event)

0x1 : B_0x1

trigger on the rising edge

0x2 : B_0x2

trigger on the falling edge

0x3 : B_0x3

same as 00

End of enumeration elements list.

TCEM : transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1.
bits : 30 - 31 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level (when LPDMA_CxBR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer), if any data transfer.

0x3 : B_0x3

at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address LPDMA_CxLLR.LA[15:2] to zero and clears all the LPDMA_CxLLR update bits (UT1, UT2, UB1, USA, UDA and ULL). If the channel transfer is continuous/infinite, no event is generated.

End of enumeration elements list.


LPDMA_C2BR1

LPDMA channel 2 block register 1
address_offset : 0x198 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2BR1 LPDMA_C2BR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BNDT

BNDT : block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if LPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if LPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all LPDMA_CxLLR.Uxx = 0 and if LPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if LPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued.
bits : 0 - 15 (16 bit)
access : read-write


LPDMA_C2SAR

LPDMA channel 2 source address register
address_offset : 0x19C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2SAR LPDMA_C2SAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SA

SA : source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (LPDMA_CxTR1.SINC), this field is either kept fixed or incremented by the data width (LPDMA_CxTR1.SDW_LOG2[1:0]) after each single source data, reflecting the next address from which data is read. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by LPDMA from the memory, provided the LLI is set with LPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source single (SA[32:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_C2DAR

LPDMA channel 2 destination address register
address_offset : 0x1A0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2DAR LPDMA_C2DAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DA

DA : destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (LPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (LPDMA_CxTR1.DDW_LOG2[21:0]) after each single destination data, reflecting the next address from which data is written. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by DMA from the memory, provided the LLI is set with LPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination single (DA[2:0] versus LPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_C2LLR

LPDMA channel 2 linked-list address register
address_offset : 0x1CC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C2LLR LPDMA_C2LLR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LA ULL UDA USA UB1 UT2 UT1

LA : pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list DMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list DMA internal register file (LPDMA_CxCTR1, LPDMA_CxTR2, LPDMA_CxBR1, LPDMA_CxSAR, LPDMA_CxDAR and LPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored.
bits : 2 - 15 (14 bit)
access : read-write

ULL : Update LPDMA_CxLLR register from memory This bit is used to control the update of the LPDMA_CxLLR register from the memory during the link transfer.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxLLR update

0x1 : B_0x1

LPDMA_CxLLR update

End of enumeration elements list.

UDA : Update LPDMA_CxDAR register from memory This bit is used to control the update of the LPDMA_CxDAR register from the memory during the link transfer.
bits : 27 - 27 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxDAR update

0x1 : B_0x1

LPDMA_CxDAR update

End of enumeration elements list.

USA : update LPDMA_CxSAR from memory This bit controls the update of the LPDMA_CxSAR register from the memory during the link transfer.
bits : 28 - 28 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxSAR update

0x1 : B_0x1

LPDMA_CxSAR update

End of enumeration elements list.

UB1 : Update LPDMA_CxBR1 from memory This bit controls the update of the LPDMA_CxBR1 register from the memory during the link transfer.
bits : 29 - 29 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxBR1 update from memory and internally restored to the previous programmed value

0x1 : B_0x1

LPDMA_CxBR1 update

End of enumeration elements list.

UT2 : Update LPDMA_CxTR2 from memory This bit controls the update of the LPDMA_CxTR2 register from the memory during the link transfer.
bits : 30 - 30 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR2 update

0x1 : B_0x1

LPDMA_CxTR2 update

End of enumeration elements list.

UT1 : Update LPDMA_CxTR1 from memory This bit controls the update of the LPDMA_CxTR1 register from the memory during the link transfer.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR1 update

0x1 : B_0x1

LPDMA_CxTR1 update

End of enumeration elements list.


LPDMA_C3LBAR

LPDMA channel 3 linked-list base address register
address_offset : 0x1D0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3LBAR LPDMA_C3LBAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LBA

LBA : linked-list base address of LPDMA channel x
bits : 16 - 31 (16 bit)
access : read-write


LPDMA_C3FCR

LPDMA channel 3 flag clear register
address_offset : 0x1DC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3FCR LPDMA_C3FCR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TCF HTF DTEF ULEF USEF SUSPF TOF

TCF : transfer complete flag clear
bits : 8 - 8 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding TCF flag cleared

End of enumeration elements list.

HTF : half transfer flag clear
bits : 9 - 9 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding HTF flag cleared

End of enumeration elements list.

DTEF : data transfer error flag clear
bits : 10 - 10 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding DTEF flag cleared

End of enumeration elements list.

ULEF : update link transfer error flag clear
bits : 11 - 11 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding ULEF flag cleared

End of enumeration elements list.

USEF : user setting error flag clear
bits : 12 - 12 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding USEF flag cleared

End of enumeration elements list.

SUSPF : completed suspension flag clear
bits : 13 - 13 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding SUSPF flag cleared

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C3SR

LPDMA channel 3 status register
address_offset : 0x1E0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3SR LPDMA_C3SR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IDLEF TCF HTF DTEF ULEF USEF SUSPF TOF

IDLEF : idle flag This idle flag is de-asserted by hardware when the channel is enabled (LPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state).
bits : 0 - 0 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

channel not in idle state

0x1 : B_0x1

channel in idle state

End of enumeration elements list.

TCF : transfer complete flag A transfer complete event is a block transfer complete or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode LPDMA_CxTR2.TCEM[1:0].
bits : 8 - 8 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no transfer complete event

0x1 : B_0x1

a transfer complete event occurred

End of enumeration elements list.

HTF : half transfer flag An half transfer event is an half block transfer that occurs when half of the bytes of the source block size (rounded-up integer of LPDMA_CxBR1.BNDT[15:0] / 2) has been transferred to the destination.
bits : 9 - 9 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no half transfer event

0x1 : B_0x1

an half transfer event occurred

End of enumeration elements list.

DTEF : data transfer error flag
bits : 10 - 10 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no data transfer error event

0x1 : B_0x1

a master bus error event occurred on a data transfer

End of enumeration elements list.

ULEF : update link transfer error flag
bits : 11 - 11 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no update link transfer error event

0x1 : B_0x1

a master bus error event occurred while updating a linked-list register from memory

End of enumeration elements list.

USEF : user setting error flag
bits : 12 - 12 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no user setting error event

0x1 : B_0x1

a user setting error event occurred

End of enumeration elements list.

SUSPF : completed suspension flag
bits : 13 - 13 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no completed suspension event

0x1 : B_0x1

a completed suspension event occurred

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C3CR

LPDMA channel 3 control register
address_offset : 0x1E4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3CR LPDMA_C3CR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EN RESET SUSP TCIE HTIE DTEIE ULEIE USEIE SUSPIE TOIE LSM PRIO

EN : enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: ignored, read: channel disabled

0x1 : B_0x1

write: enable channel, read: channel enabled

End of enumeration elements list.

RESET : reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (LPDMA_CxSR.SUSPF = 1 and LPDMA_CxSR.IDLEF = LPDMA_CxCR.EN = 1) - channel in disabled state (LPDMA_CxSR.IDLEF = 1 and LPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (LPDMA_CxBR1, LPDMA_CxSAR and LPDMA_CxDAR) before enabling again the channel (see the programming sequence in ).
bits : 1 - 1 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no channel reset

0x1 : B_0x1

channel reset

End of enumeration elements list.

SUSP : suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going DMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in sequence.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: resume channel, read: channel not suspended

0x1 : B_0x1

write: suspend channel, read: channel suspended.

End of enumeration elements list.

TCIE : transfer complete interrupt enable
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

HTIE : half transfer complete interrupt enable
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

DTEIE : data transfer error interrupt enable
bits : 10 - 10 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

ULEIE : update link transfer error interrupt enable
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

USEIE : user setting error interrupt enable
bits : 12 - 12 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

SUSPIE : completed suspension interrupt enable
bits : 13 - 13 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

TOIE : trigger overrun interrupt enable
bits : 14 - 14 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

LSM : Link step mode First the block transfer is executed as defined by the current internal register file until LPDMA_CxBR1.BNDT[15:0 ] =0). Secondly the next linked-list data structure is conditionally uploaded from memory as defined by LPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

channel executed for the full linked-list and completed at the end of the last LLI (LPDMA_CxLLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0). Then LPDMA_CxBR1.BNDT[15:0] = 0.

0x1 : B_0x1

channel executed once for the current LLI

End of enumeration elements list.

PRIO : priority level of the channel x LPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1.
bits : 22 - 23 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

low priority, low weight

0x1 : B_0x1

low priority, mid weight

0x2 : B_0x2

low priority, high weight

0x3 : B_0x3

high priority

End of enumeration elements list.


LPDMA_C3TR1

LPDMA channel 3 transfer register 1
address_offset : 0x210 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3TR1 LPDMA_C3TR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SDW_LOG2 SINC PAM SSEC DDW_LOG2 DINC DSEC

SDW_LOG2 : binary logarithm of the source data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. a source block size must be a multiple of the source data width (LPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address LPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued.
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

SINC : source incrementing single The source address, pointed by LPDMA_CxSAR, is kept constant after a single transfer or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

PAM : padding/alignment mode If DDW_LOG2[1:0]=SDW_LOG2[1:0]: if the data width of a single destination transfer is equal to the data width of a single source transfer, this bit is ignored. Else: Case 1: If destination data width > source data width Case 2: If destination data width < source data width
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

End of enumeration elements list.

SSEC : security attribute of the LPDMA transfer from the source If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx =1 . A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer from the source is non-secure.
bits : 15 - 15 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.

DDW_LOG2 : binary logarithm of the destination data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination single transfer must have an aligned address with its data width (start address LPDMA_CxDAR[2:0] versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and none transfer is issued.
bits : 16 - 17 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

DINC : destination incrementing single The destination address, pointed by LPDMA_CxDAR, is kept constant after a single transfer, or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 19 - 19 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

DSEC : security attribute of the LPDMA transfer to the destination If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx = 1. A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer to the destination is non-secure.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.


LPDMA_C3TR2

LPDMA channel 3 transfer register 2
address_offset : 0x214 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3TR2 LPDMA_C3TR2 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 REQSEL SWREQ BREQ TRIGM TRIGSEL TRIGPOL TCEM

REQSEL : DMA hardware request selection These bits are ignored if channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per request. Note: The user must not assign a same input hardware request (same REQSEL[4:0] value) to different active DMA channels (LPDMA_CxCR.EN = 1 and LPDMA_CxTR2.SWREQ = 0 for these channels). DMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting.
bits : 0 - 4 (5 bit)
access : read-write

SWREQ : software request This bit is internally taken into account when LPDMA_CxCR.EN is asserted.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no software request. The selected hardware request REQSEL[4:0] is taken into account.

0x1 : B_0x1

software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[4:0] is ignored.

End of enumeration elements list.

BREQ : block hardware request If the channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a single level.

0x1 : B_0x1

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see request as a block request).

End of enumeration elements list.

TRIGM : trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (LPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 0b00 or 0b11, these TRIGM[1:0] bits are ignored. Else, a DMA transfer is conditioned by at least one trigger hit: The LPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 0b01 or respectively TRIGPOL[1:0] = 0b10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[4:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the LPDMA_CxTR2 with a new value for any of TRIGSEL[4:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized, and a trigger overrun flag is reported (LPDMA_CxSR.TOF = 1), an interrupt is generated if enabled (LPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun.
bits : 14 - 15 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level: the first single read of each block transfer is conditioned by one hit trigger.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned.

0x3 : B_0x3

at programmed single level: each programmed single read is conditioned by one hit trigger.

End of enumeration elements list.

TRIGSEL : trigger event input selection These bits select the trigger event input of the LPDMA transfer (as per Programmed LPDMA1 trigger), with an active trigger event if TRIGPOL[1:0] = 00.
bits : 16 - 20 (5 bit)
access : read-write

TRIGPOL : trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[4:0].
bits : 24 - 25 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no trigger (masked trigger event)

0x1 : B_0x1

trigger on the rising edge

0x2 : B_0x2

trigger on the falling edge

0x3 : B_0x3

same as 00

End of enumeration elements list.

TCEM : transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1.
bits : 30 - 31 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level (when LPDMA_CxBR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer), if any data transfer.

0x3 : B_0x3

at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address LPDMA_CxLLR.LA[15:2] to zero and clears all the LPDMA_CxLLR update bits (UT1, UT2, UB1, USA, UDA and ULL). If the channel transfer is continuous/infinite, no event is generated.

End of enumeration elements list.


LPDMA_C3BR1

LPDMA channel 3 block register 1
address_offset : 0x218 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3BR1 LPDMA_C3BR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BNDT

BNDT : block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if LPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if LPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all LPDMA_CxLLR.Uxx = 0 and if LPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if LPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued.
bits : 0 - 15 (16 bit)
access : read-write


LPDMA_C3SAR

LPDMA channel 3 source address register
address_offset : 0x21C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3SAR LPDMA_C3SAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SA

SA : source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (LPDMA_CxTR1.SINC), this field is either kept fixed or incremented by the data width (LPDMA_CxTR1.SDW_LOG2[1:0]) after each single source data, reflecting the next address from which data is read. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by LPDMA from the memory, provided the LLI is set with LPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source single (SA[32:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_C3DAR

LPDMA channel 3 destination address register
address_offset : 0x220 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3DAR LPDMA_C3DAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DA

DA : destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (LPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (LPDMA_CxTR1.DDW_LOG2[21:0]) after each single destination data, reflecting the next address from which data is written. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by DMA from the memory, provided the LLI is set with LPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination single (DA[2:0] versus LPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_C3LLR

LPDMA channel 3 linked-list address register
address_offset : 0x24C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C3LLR LPDMA_C3LLR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LA ULL UDA USA UB1 UT2 UT1

LA : pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list DMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list DMA internal register file (LPDMA_CxCTR1, LPDMA_CxTR2, LPDMA_CxBR1, LPDMA_CxSAR, LPDMA_CxDAR and LPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored.
bits : 2 - 15 (14 bit)
access : read-write

ULL : Update LPDMA_CxLLR register from memory This bit is used to control the update of the LPDMA_CxLLR register from the memory during the link transfer.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxLLR update

0x1 : B_0x1

LPDMA_CxLLR update

End of enumeration elements list.

UDA : Update LPDMA_CxDAR register from memory This bit is used to control the update of the LPDMA_CxDAR register from the memory during the link transfer.
bits : 27 - 27 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxDAR update

0x1 : B_0x1

LPDMA_CxDAR update

End of enumeration elements list.

USA : update LPDMA_CxSAR from memory This bit controls the update of the LPDMA_CxSAR register from the memory during the link transfer.
bits : 28 - 28 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxSAR update

0x1 : B_0x1

LPDMA_CxSAR update

End of enumeration elements list.

UB1 : Update LPDMA_CxBR1 from memory This bit controls the update of the LPDMA_CxBR1 register from the memory during the link transfer.
bits : 29 - 29 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxBR1 update from memory and internally restored to the previous programmed value

0x1 : B_0x1

LPDMA_CxBR1 update

End of enumeration elements list.

UT2 : Update LPDMA_CxTR2 from memory This bit controls the update of the LPDMA_CxTR2 register from the memory during the link transfer.
bits : 30 - 30 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR2 update

0x1 : B_0x1

LPDMA_CxTR2 update

End of enumeration elements list.

UT1 : Update LPDMA_CxTR1 from memory This bit controls the update of the LPDMA_CxTR1 register from the memory during the link transfer.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR1 update

0x1 : B_0x1

LPDMA_CxTR1 update

End of enumeration elements list.


LPDMA_PRIVCFGR

LPDMA privileged configuration register
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_PRIVCFGR LPDMA_PRIVCFGR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PRIV0 PRIV1 PRIV2 PRIV3

PRIV0 : PRIV0
bits : 0 - 0 (1 bit)
access : read-write

PRIV1 : PRIV1
bits : 1 - 1 (1 bit)
access : read-write

PRIV2 : PRIV2
bits : 2 - 2 (1 bit)
access : read-write

PRIV3 : PRIV3
bits : 3 - 3 (1 bit)
access : read-write


LPDMA_C0LBAR

LPDMA channel 0 linked-list base address register
address_offset : 0x50 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0LBAR LPDMA_C0LBAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LBA

LBA : linked-list base address of LPDMA channel x
bits : 16 - 31 (16 bit)
access : read-write


LPDMA_C0FCR

LPDMA channel 0 flag clear register
address_offset : 0x5C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0FCR LPDMA_C0FCR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TCF HTF DTEF ULEF USEF SUSPF TOF

TCF : transfer complete flag clear
bits : 8 - 8 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding TCF flag cleared

End of enumeration elements list.

HTF : half transfer flag clear
bits : 9 - 9 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding HTF flag cleared

End of enumeration elements list.

DTEF : data transfer error flag clear
bits : 10 - 10 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding DTEF flag cleared

End of enumeration elements list.

ULEF : update link transfer error flag clear
bits : 11 - 11 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding ULEF flag cleared

End of enumeration elements list.

USEF : user setting error flag clear
bits : 12 - 12 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding USEF flag cleared

End of enumeration elements list.

SUSPF : completed suspension flag clear
bits : 13 - 13 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding SUSPF flag cleared

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C0SR

LPDMA channel 0 status register
address_offset : 0x60 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0SR LPDMA_C0SR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IDLEF TCF HTF DTEF ULEF USEF SUSPF TOF

IDLEF : idle flag This idle flag is de-asserted by hardware when the channel is enabled (LPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state).
bits : 0 - 0 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

channel not in idle state

0x1 : B_0x1

channel in idle state

End of enumeration elements list.

TCF : transfer complete flag A transfer complete event is a block transfer complete or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode LPDMA_CxTR2.TCEM[1:0].
bits : 8 - 8 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no transfer complete event

0x1 : B_0x1

a transfer complete event occurred

End of enumeration elements list.

HTF : half transfer flag An half transfer event is an half block transfer that occurs when half of the bytes of the source block size (rounded-up integer of LPDMA_CxBR1.BNDT[15:0] / 2) has been transferred to the destination.
bits : 9 - 9 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no half transfer event

0x1 : B_0x1

an half transfer event occurred

End of enumeration elements list.

DTEF : data transfer error flag
bits : 10 - 10 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no data transfer error event

0x1 : B_0x1

a master bus error event occurred on a data transfer

End of enumeration elements list.

ULEF : update link transfer error flag
bits : 11 - 11 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no update link transfer error event

0x1 : B_0x1

a master bus error event occurred while updating a linked-list register from memory

End of enumeration elements list.

USEF : user setting error flag
bits : 12 - 12 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no user setting error event

0x1 : B_0x1

a user setting error event occurred

End of enumeration elements list.

SUSPF : completed suspension flag
bits : 13 - 13 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no completed suspension event

0x1 : B_0x1

a completed suspension event occurred

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C0CR

LPDMA channel 0 control register
address_offset : 0x64 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0CR LPDMA_C0CR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EN RESET SUSP TCIE HTIE DTEIE ULEIE USEIE SUSPIE TOIE LSM PRIO

EN : enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: ignored, read: channel disabled

0x1 : B_0x1

write: enable channel, read: channel enabled

End of enumeration elements list.

RESET : reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (LPDMA_CxSR.SUSPF = 1 and LPDMA_CxSR.IDLEF = LPDMA_CxCR.EN = 1) - channel in disabled state (LPDMA_CxSR.IDLEF = 1 and LPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (LPDMA_CxBR1, LPDMA_CxSAR and LPDMA_CxDAR) before enabling again the channel (see the programming sequence in ).
bits : 1 - 1 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no channel reset

0x1 : B_0x1

channel reset

End of enumeration elements list.

SUSP : suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going DMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in sequence.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: resume channel, read: channel not suspended

0x1 : B_0x1

write: suspend channel, read: channel suspended.

End of enumeration elements list.

TCIE : transfer complete interrupt enable
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

HTIE : half transfer complete interrupt enable
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

DTEIE : data transfer error interrupt enable
bits : 10 - 10 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

ULEIE : update link transfer error interrupt enable
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

USEIE : user setting error interrupt enable
bits : 12 - 12 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

SUSPIE : completed suspension interrupt enable
bits : 13 - 13 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

TOIE : trigger overrun interrupt enable
bits : 14 - 14 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

LSM : Link step mode First the block transfer is executed as defined by the current internal register file until LPDMA_CxBR1.BNDT[15:0 ] =0). Secondly the next linked-list data structure is conditionally uploaded from memory as defined by LPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

channel executed for the full linked-list and completed at the end of the last LLI (LPDMA_CxLLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0). Then LPDMA_CxBR1.BNDT[15:0] = 0.

0x1 : B_0x1

channel executed once for the current LLI

End of enumeration elements list.

PRIO : priority level of the channel x LPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1.
bits : 22 - 23 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

low priority, low weight

0x1 : B_0x1

low priority, mid weight

0x2 : B_0x2

low priority, high weight

0x3 : B_0x3

high priority

End of enumeration elements list.


LPDMA_RCFGLOCKR

LPDMA configuration lock register
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_RCFGLOCKR LPDMA_RCFGLOCKR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LOCK0 LOCK1 LOCK2 LOCK3

LOCK0 : LOCK0
bits : 0 - 0 (1 bit)
access : read-write

LOCK1 : LOCK1
bits : 1 - 1 (1 bit)
access : read-write

LOCK2 : LOCK2
bits : 2 - 2 (1 bit)
access : read-write

LOCK3 : LOCK3
bits : 3 - 3 (1 bit)
access : read-write


LPDMA_C0TR1

LPDMA channel 0 transfer register 1
address_offset : 0x90 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0TR1 LPDMA_C0TR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SDW_LOG2 SINC PAM SSEC DDW_LOG2 DINC DSEC

SDW_LOG2 : binary logarithm of the source data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. a source block size must be a multiple of the source data width (LPDMA_CxBR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address LPDMA_CxSAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued.
bits : 0 - 1 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

SINC : source incrementing single The source address, pointed by LPDMA_CxSAR, is kept constant after a single transfer or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 3 - 3 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

PAM : padding/alignment mode If DDW_LOG2[1:0]=SDW_LOG2[1:0]: if the data width of a single destination transfer is equal to the data width of a single source transfer, this bit is ignored. Else: Case 1: If destination data width > source data width Case 2: If destination data width < source data width
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

0x0 : B_0x0

source data is transferred as right aligned, left-truncated down to the destination data width

0x1 : B_0x1

source data is transferred as left-aligned, right-truncated down to the destination data width

End of enumeration elements list.

SSEC : security attribute of the LPDMA transfer from the source If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx =1 . A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer from the source is non-secure.
bits : 15 - 15 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.

DDW_LOG2 : binary logarithm of the destination data width of a single in bytes Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination single transfer must have an aligned address with its data width (start address LPDMA_CxDAR[2:0] versus DDW_LOG2[1:0]). Otherwise a user setting error is reported and none transfer is issued.
bits : 16 - 17 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

byte

0x1 : B_0x1

half-word (2 bytes)

0x2 : B_0x2

word (4 bytes)

0x3 : B_0x3

user setting error reported and no transfer issued

End of enumeration elements list.

DINC : destination incrementing single The destination address, pointed by LPDMA_CxDAR, is kept constant after a single transfer, or is incremented by the offset value corresponding to a contiguous data after a single transfer.
bits : 19 - 19 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

fixed single

0x1 : B_0x1

contiguously incremented single

End of enumeration elements list.

DSEC : security attribute of the LPDMA transfer to the destination If LPDMA_SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when LPDMA_SECCFGR.SECx = 1. A secure write is ignored when LPDMA_SECCFGR.SECx = 0. When LPDMA_SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer to the destination is non-secure.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

LPDMA transfer non-secure

0x1 : B_0x1

LPDMA transfer secure

End of enumeration elements list.


LPDMA_C0TR2

LPDMA channel 0 transfer register 2
address_offset : 0x94 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0TR2 LPDMA_C0TR2 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 REQSEL SWREQ BREQ TRIGM TRIGSEL TRIGPOL TCEM

REQSEL : DMA hardware request selection These bits are ignored if channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per request. Note: The user must not assign a same input hardware request (same REQSEL[4:0] value) to different active DMA channels (LPDMA_CxCR.EN = 1 and LPDMA_CxTR2.SWREQ = 0 for these channels). DMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting.
bits : 0 - 4 (5 bit)
access : read-write

SWREQ : software request This bit is internally taken into account when LPDMA_CxCR.EN is asserted.
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no software request. The selected hardware request REQSEL[4:0] is taken into account.

0x1 : B_0x1

software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[4:0] is ignored.

End of enumeration elements list.

BREQ : block hardware request If the channel x is activated (LPDMA_CxCR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else:
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a single level.

0x1 : B_0x1

the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see request as a block request).

End of enumeration elements list.

TRIGM : trigger mode These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (LPDMA_CxCR.EN asserted) with TRIGPOL[1:0] = 0b00 or 0b11, these TRIGM[1:0] bits are ignored. Else, a DMA transfer is conditioned by at least one trigger hit: The LPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 0b01 or respectively TRIGPOL[1:0] = 0b10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[4:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the LPDMA_CxTR2 with a new value for any of TRIGSEL[4:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized, and a trigger overrun flag is reported (LPDMA_CxSR.TOF = 1), an interrupt is generated if enabled (LPDMA_CxCR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun.
bits : 14 - 15 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level: the first single read of each block transfer is conditioned by one hit trigger.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned.

0x3 : B_0x3

at programmed single level: each programmed single read is conditioned by one hit trigger.

End of enumeration elements list.

TRIGSEL : trigger event input selection These bits select the trigger event input of the LPDMA transfer (as per Programmed LPDMA1 trigger), with an active trigger event if TRIGPOL[1:0] = 00.
bits : 16 - 20 (5 bit)
access : read-write

TRIGPOL : trigger event polarity These bits define the polarity of the selected trigger event input defined by TRIGSEL[4:0].
bits : 24 - 25 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no trigger (masked trigger event)

0x1 : B_0x1

trigger on the rising edge

0x2 : B_0x2

trigger on the falling edge

0x3 : B_0x3

same as 00

End of enumeration elements list.

TCEM : transfer complete event mode These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with LPDMA_CxBR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1.
bits : 30 - 31 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

at block level (when LPDMA_CxBR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block.

0x1 : B_0x1

same as 00

0x2 : B_0x2

at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer), if any data transfer.

0x3 : B_0x3

at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address LPDMA_CxLLR.LA[15:2] to zero and clears all the LPDMA_CxLLR update bits (UT1, UT2, UB1, USA, UDA and ULL). If the channel transfer is continuous/infinite, no event is generated.

End of enumeration elements list.


LPDMA_C0BR1

LPDMA channel 0 block register 1
address_offset : 0x98 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0BR1 LPDMA_C0BR1 read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BNDT

BNDT : block number of data bytes to transfer from the source Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if LPDMA_CxLLR.UB1 = 1, this field is updated by the LLI in the memory. - if LPDMA_CxLLR.UB1 = 0 and if there is at least one non null Uxx update bit, this field is internally restored to the programmed value. - if all LPDMA_CxLLR.Uxx = 0 and if LPDMA_CxLLR.LA[15:0] = 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if LPDMA_CxLLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued.
bits : 0 - 15 (16 bit)
access : read-write


LPDMA_C0SAR

LPDMA channel 0 source address register
address_offset : 0x9C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0SAR LPDMA_C0SAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SA

SA : source address This field is the pointer to the address from which the next data is read. During the channel activity, depending on the source addressing mode (LPDMA_CxTR1.SINC), this field is either kept fixed or incremented by the data width (LPDMA_CxTR1.SDW_LOG2[1:0]) after each single source data, reflecting the next address from which data is read. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by LPDMA from the memory, provided the LLI is set with LPDMA_CxLLR.USA = 1. Note: A source address must be aligned with the programmed data width of a source single (SA[32:0] versus LPDMA_CxTR1.SDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_C0DAR

LPDMA channel 0 destination address register
address_offset : 0xA0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0DAR LPDMA_C0DAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DA

DA : destination address This field is the pointer to the address from which the next data is written. During the channel activity, depending on the destination addressing mode (LPDMA_CxTR1.DINC), this field is kept fixed or incremented by the data width (LPDMA_CxTR1.DDW_LOG2[21:0]) after each single destination data, reflecting the next address from which data is written. In linked-list mode, after a LLI data transfer is completed, this register is automatically updated by DMA from the memory, provided the LLI is set with LPDMA_CxLLR.UDA = 1. Note: A destination address must be aligned with the programmed data width of a destination single (DA[2:0] versus LPDMA_CxTR1.DDW_LOG2[1:0]). Else, a user setting error is reported and no transfer is issued.
bits : 0 - 31 (32 bit)
access : read-write


LPDMA_MISR

LPDMA non-secure masked interrupt status register
address_offset : 0xC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_MISR LPDMA_MISR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MIS0 MIS1 MIS2 MIS3

MIS0 : MIS0
bits : 0 - 0 (1 bit)
access : read-only

MIS1 : MIS1
bits : 1 - 1 (1 bit)
access : read-only

MIS2 : MIS2
bits : 2 - 2 (1 bit)
access : read-only

MIS3 : MIS3
bits : 3 - 3 (1 bit)
access : read-only


LPDMA_C0LLR

LPDMA channel 0 linked-list address register
address_offset : 0xCC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C0LLR LPDMA_C0LLR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LA ULL UDA USA UB1 UT2 UT1

LA : pointer (16-bit low-significant address) to the next linked-list data structure If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list DMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list DMA internal register file (LPDMA_CxCTR1, LPDMA_CxTR2, LPDMA_CxBR1, LPDMA_CxSAR, LPDMA_CxDAR and LPDMA_CxLLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored.
bits : 2 - 15 (14 bit)
access : read-write

ULL : Update LPDMA_CxLLR register from memory This bit is used to control the update of the LPDMA_CxLLR register from the memory during the link transfer.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxLLR update

0x1 : B_0x1

LPDMA_CxLLR update

End of enumeration elements list.

UDA : Update LPDMA_CxDAR register from memory This bit is used to control the update of the LPDMA_CxDAR register from the memory during the link transfer.
bits : 27 - 27 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxDAR update

0x1 : B_0x1

LPDMA_CxDAR update

End of enumeration elements list.

USA : update LPDMA_CxSAR from memory This bit controls the update of the LPDMA_CxSAR register from the memory during the link transfer.
bits : 28 - 28 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxSAR update

0x1 : B_0x1

LPDMA_CxSAR update

End of enumeration elements list.

UB1 : Update LPDMA_CxBR1 from memory This bit controls the update of the LPDMA_CxBR1 register from the memory during the link transfer.
bits : 29 - 29 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxBR1 update from memory and internally restored to the previous programmed value

0x1 : B_0x1

LPDMA_CxBR1 update

End of enumeration elements list.

UT2 : Update LPDMA_CxTR2 from memory This bit controls the update of the LPDMA_CxTR2 register from the memory during the link transfer.
bits : 30 - 30 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR2 update

0x1 : B_0x1

LPDMA_CxTR2 update

End of enumeration elements list.

UT1 : Update LPDMA_CxTR1 from memory This bit controls the update of the LPDMA_CxTR1 register from the memory during the link transfer.
bits : 31 - 31 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

no LPDMA_CxTR1 update

0x1 : B_0x1

LPDMA_CxTR1 update

End of enumeration elements list.


LPDMA_C1LBAR

LPDMA channel 1 linked-list base address register
address_offset : 0xD0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1LBAR LPDMA_C1LBAR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LBA

LBA : linked-list base address of LPDMA channel x
bits : 16 - 31 (16 bit)
access : read-write


LPDMA_C1FCR

LPDMA channel 1 flag clear register
address_offset : 0xDC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1FCR LPDMA_C1FCR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 TCF HTF DTEF ULEF USEF SUSPF TOF

TCF : transfer complete flag clear
bits : 8 - 8 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding TCF flag cleared

End of enumeration elements list.

HTF : half transfer flag clear
bits : 9 - 9 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding HTF flag cleared

End of enumeration elements list.

DTEF : data transfer error flag clear
bits : 10 - 10 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding DTEF flag cleared

End of enumeration elements list.

ULEF : update link transfer error flag clear
bits : 11 - 11 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding ULEF flag cleared

End of enumeration elements list.

USEF : user setting error flag clear
bits : 12 - 12 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding USEF flag cleared

End of enumeration elements list.

SUSPF : completed suspension flag clear
bits : 13 - 13 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

corresponding SUSPF flag cleared

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C1SR

LPDMA channel 1 status register
address_offset : 0xE0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1SR LPDMA_C1SR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IDLEF TCF HTF DTEF ULEF USEF SUSPF TOF

IDLEF : idle flag This idle flag is de-asserted by hardware when the channel is enabled (LPDMA_CxCR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state).
bits : 0 - 0 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

channel not in idle state

0x1 : B_0x1

channel in idle state

End of enumeration elements list.

TCF : transfer complete flag A transfer complete event is a block transfer complete or a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode LPDMA_CxTR2.TCEM[1:0].
bits : 8 - 8 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no transfer complete event

0x1 : B_0x1

a transfer complete event occurred

End of enumeration elements list.

HTF : half transfer flag An half transfer event is an half block transfer that occurs when half of the bytes of the source block size (rounded-up integer of LPDMA_CxBR1.BNDT[15:0] / 2) has been transferred to the destination.
bits : 9 - 9 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no half transfer event

0x1 : B_0x1

an half transfer event occurred

End of enumeration elements list.

DTEF : data transfer error flag
bits : 10 - 10 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no data transfer error event

0x1 : B_0x1

a master bus error event occurred on a data transfer

End of enumeration elements list.

ULEF : update link transfer error flag
bits : 11 - 11 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no update link transfer error event

0x1 : B_0x1

a master bus error event occurred while updating a linked-list register from memory

End of enumeration elements list.

USEF : user setting error flag
bits : 12 - 12 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no user setting error event

0x1 : B_0x1

a user setting error event occurred

End of enumeration elements list.

SUSPF : completed suspension flag
bits : 13 - 13 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no completed suspension event

0x1 : B_0x1

a completed suspension event occurred

End of enumeration elements list.

TOF : trigger overrun flag clear
bits : 14 - 14 (1 bit)
access : read-only

Enumeration:

0x0 : B_0x0

no effect

0x1 : B_0x1

clears the corresponding TOF flag

End of enumeration elements list.


LPDMA_C1CR

LPDMA channel 1 control register
address_offset : 0xE4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0

LPDMA_C1CR LPDMA_C1CR read-write 0 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 Resets to Resets to 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EN RESET SUSP TCIE HTIE DTEIE ULEIE USEIE SUSPIE TOIE LSM PRIO

EN : enable Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored.
bits : 0 - 0 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: ignored, read: channel disabled

0x1 : B_0x1

write: enable channel, read: channel enabled

End of enumeration elements list.

RESET : reset This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (LPDMA_CxSR.SUSPF = 1 and LPDMA_CxSR.IDLEF = LPDMA_CxCR.EN = 1) - channel in disabled state (LPDMA_CxSR.IDLEF = 1 and LPDMA_CxCR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (LPDMA_CxBR1, LPDMA_CxSAR and LPDMA_CxDAR) before enabling again the channel (see the programming sequence in ).
bits : 1 - 1 (1 bit)
access : write-only

Enumeration:

0x0 : B_0x0

no channel reset

0x1 : B_0x1

channel reset

End of enumeration elements list.

SUSP : suspend Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going DMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in sequence.
bits : 2 - 2 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

write: resume channel, read: channel not suspended

0x1 : B_0x1

write: suspend channel, read: channel suspended.

End of enumeration elements list.

TCIE : transfer complete interrupt enable
bits : 8 - 8 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

HTIE : half transfer complete interrupt enable
bits : 9 - 9 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

DTEIE : data transfer error interrupt enable
bits : 10 - 10 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

ULEIE : update link transfer error interrupt enable
bits : 11 - 11 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

USEIE : user setting error interrupt enable
bits : 12 - 12 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

SUSPIE : completed suspension interrupt enable
bits : 13 - 13 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

TOIE : trigger overrun interrupt enable
bits : 14 - 14 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

interrupt disabled

0x1 : B_0x1

interrupt enabled

End of enumeration elements list.

LSM : Link step mode First the block transfer is executed as defined by the current internal register file until LPDMA_CxBR1.BNDT[15:0 ] =0). Secondly the next linked-list data structure is conditionally uploaded from memory as defined by LPDMA_CxLLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1.
bits : 16 - 16 (1 bit)
access : read-write

Enumeration:

0x0 : B_0x0

channel executed for the full linked-list and completed at the end of the last LLI (LPDMA_CxLLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0). Then LPDMA_CxBR1.BNDT[15:0] = 0.

0x1 : B_0x1

channel executed once for the current LLI

End of enumeration elements list.

PRIO : priority level of the channel x LPDMA transfer versus others Note: This bit must be written when EN = 0. This bit is read-only when EN = 1.
bits : 22 - 23 (2 bit)
access : read-write

Enumeration:

0x0 : B_0x0

low priority, low weight

0x1 : B_0x1

low priority, mid weight

0x2 : B_0x2

low priority, high weight

0x3 : B_0x3

high priority

End of enumeration elements list.



Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !

This website is sponsored by EmbeetleEmbeetle, an IDE designed from scratch for embedded software developers.