Hilscher netX microcontroller driver  V0.0.5.0
Documentation of the netX driver package
dmac_app_ch_Type Struct Reference

dmac_app_ch0 (dmac_app_ch) More...

#include <netx90_app.h>

Collaboration diagram for dmac_app_ch_Type:
Collaboration graph

Data Fields

union {
   __IOM uint32_t *   dmac_chsrc_ad
 
   struct {
      __IOM uint32_t   DMACCHSRCADDR: 32
 
   }   dmac_chsrc_ad_b
 
}; 
 
union {
   __IOM uint32_t *   dmac_chdest_ad
 
   struct {
      __IOM uint32_t   DMACCHDESTADDR: 32
 
   }   dmac_chdest_ad_b
 
}; 
 
union {
   __IOM uint32_t *   dmac_chlink
 
   struct {
      __IOM uint32_t   bf_align0: 2
 
      __IOM uint32_t   LLIADDR: 30
 
   }   dmac_chlink_b
 
}; 
 
union {
   __IOM uint32_t   dmac_chctrl
 
   struct {
      __IOM uint32_t   TransferSize: 12
 
      __IOM uint32_t   SBSize: 3
 
      __IOM uint32_t   DBSize: 3
 
      __IOM uint32_t   SWidth: 3
 
      __IOM uint32_t   DWidth: 3
 
      __IOM uint32_t   ARM_EQ: 1
 
      __IOM uint32_t   bf_align0: 1
 
      __IOM uint32_t   SI: 1
 
      __IOM uint32_t   DI: 1
 
      __IOM uint32_t   Prot: 3
 
      __IOM uint32_t   I: 1
 
   }   dmac_chctrl_b
 
}; 
 
union {
   __IOM uint32_t   dmac_chcfg
 
   struct {
      __IOM uint32_t   E: 1
 
      __IOM uint32_t   SrcPeripheral: 4
 
      __IOM uint32_t   bf_align0: 1
 
      __IOM uint32_t   DestPeripheral: 4
 
      __IOM uint32_t   bf_align1: 1
 
      __IOM uint32_t   FlowCntrl: 3
 
      __IOM uint32_t   IE: 1
 
      __IOM uint32_t   ITC: 1
 
      __IOM uint32_t   L: 1
 
      __IOM uint32_t   A: 1
 
      __IOM uint32_t   H: 1
 
      __IOM uint32_t   bf_align2: 13
 
   }   dmac_chcfg_b
 
}; 
 
__IM uint32_t RESERVED [3]
 

Detailed Description

dmac_app_ch0 (dmac_app_ch)

Definition at line 19802 of file netx90_app.h.

Field Documentation

union { ... }

< (@ 0xFF800100) dmac_app_ch Structure

union { ... }
union { ... }
union { ... }
union { ... }
__IOM uint32_t dmac_app_ch_Type::A

[17..17] Active: 0 = there is no data in the FIFO of the channel 1 = the FIFO of the channel has data. (ro) This value can be used with the Halt and Channel Enable bits to cleanly disable a DMA channel.

Definition at line 19933 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::ARM_EQ

[24..24] Set equal behaviour to arm implementation This bit should always be set to 1 (default of 0 is from historical reasons). This bit changes 2 behavioural details: 1. ARM_EQ=1: ignore single requests in DMA-controlled Memory-to-Peripheral accesses. ARM_EQ=0: handle single requests like burst requests (in this case DBSize should be 1 access). Note: In DMA-controlled Memory-to-Peripheral mode only burst request signals are allowed. The behaviour of single requests (from peripheral to DMAC) is not defined. Module

Definition at line 19871 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::bf_align0

[1..0] bitField alignment value for aeabi compatibility

[25..25] bitField alignment value for aeabi compatibility

[5..5] bitField alignment value for aeabi compatibility

Definition at line 19824 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::bf_align1

[10..10] bitField alignment value for aeabi compatibility

Definition at line 19918 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::bf_align2

[31..19] bitField alignment value for aeabi compatibility

Definition at line 19941 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::DBSize

[17..15] Destination burst size: Indicates the number of transfers which make up a destination burst transfer request. This value must be set to the burst size of the destination peripheral, or if the destination is memory, to the memory boundary size. The burst size is the amount of data that is transferred when the DMACxBREQ signal goes active in the destination peripheral. The burst size is not related to the AHB HBURST signal. Note: If flow controller is DMAC and destination is a peripheral, only bursts are tra

Definition at line 19852 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::DestPeripheral

[9..6] Destination peripheral. This value selects the DMA destination request peripheral. This field is ignored if the destination of the transfer is to memory. For mapping of peripheral to value see 'SrcPeripheral' bit-field in this register.

Definition at line 19914 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::DI

[27..27] Destination increment. When set the destination address is incremented after each transfer.

Definition at line 19883 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::dmac_chcfg

(@ 0x00000010) channel configuration registers

Definition at line 19893 of file netx90_app.h.

struct { ... } dmac_app_ch_Type::dmac_chcfg_b
__IOM uint32_t dmac_app_ch_Type::dmac_chctrl

(@ 0x0000000C) channel control registers

Definition at line 19831 of file netx90_app.h.

struct { ... } dmac_app_ch_Type::dmac_chctrl_b
__IOM uint32_t* dmac_app_ch_Type::dmac_chdest_ad

(@ 0x00000004) channel destination address registers

Definition at line 19813 of file netx90_app.h.

struct { ... } dmac_app_ch_Type::dmac_chdest_ad_b
__IOM uint32_t* dmac_app_ch_Type::dmac_chlink

(@ 0x00000008) channel linked list item register

Definition at line 19821 of file netx90_app.h.

struct { ... } dmac_app_ch_Type::dmac_chlink_b
__IOM uint32_t* dmac_app_ch_Type::dmac_chsrc_ad

(@ 0x00000000) channel source address registers

Definition at line 19805 of file netx90_app.h.

struct { ... } dmac_app_ch_Type::dmac_chsrc_ad_b
__IOM uint32_t dmac_app_ch_Type::DMACCHDESTADDR

[31..0] DMA destination address

Definition at line 19816 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::DMACCHSRCADDR

[31..0] DMA source address

Definition at line 19808 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::DWidth

[23..21] Destination transfer width: The source and destination widths can be different from each other. The hardware automatically packs and unpacks the data as required. _________________________ bit_value data_width ----------------------— 000 8 bit 001 16 bit 010 32 bit =========================

Definition at line 19866 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::E

[0..0] Channel enable. Reading this bit indicates whether a channel is currently enabled or disabled: 0 = channel disabled 1 = channel enabled. The Channel Enable bit status can also be found by reading the DMACEnbldChns register. A channel is enabled by setting this bit. Before enabling a single channel the DMA controller must be enabled globally by setting the DMACENABLE bit in the dmac_config register. Enabling a channel while the controller is disabled leads to undefined behaviour. A channel can be disabled b

Definition at line 19896 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::FlowCntrl

[13..11] Flow control and transfer type. This value is used to indicate the flow controller and transfer type. The flow controller can be the DMAC, the source peripheral, or the destination peripheral. The transfer type can be either memory-to-memory, memory-to-peripheral, peripheral-to-memory, or peripheral-to-peripheral. ____________________________________________

__________________________ bit_value transfer_type controller

Definition at line 19919 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::H

[18..18] Halt: 0 = allow DMA requests 1 = ignore further source DMA requests. The contents of the channels FIFO are drained. This value can be used with the Active and Channel Enable bits to cleanly disable a DMA channel.

Definition at line 19937 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::I

[31..31] Terminal count interrupt enable bit. It controls whether the current LLI is expected to trigger the terminal count interrupt.

Definition at line 19886 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::IE

[14..14] Interrupt error mask. When cleared this bit masks out the error interrupt of the relevant channel.

Definition at line 19927 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::ITC

[15..15] Terminal count interrupt mask. When cleared this bit masks out the terminal count interrupt of the relevant channel.

Definition at line 19929 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::L

[16..16] Lock. When set this bit enables locked transfers.

Definition at line 19932 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::LLIADDR

[31..2] Linked list item. Bits [31:2] of the address for the next LLI. Address bits [1:0] are 0.

Definition at line 19825 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::Prot

[30..28] Protection.

Definition at line 19885 of file netx90_app.h.

__IM uint32_t dmac_app_ch_Type::RESERVED[3]

Definition at line 19944 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::SBSize

[14..12] Source burst size: Indicates the number of transfers which make up a source burst. This value must be set to the burst size of the source peripheral, or if the source is memory, to the memory boundary size. The burst size is the amount of data that is transferred when the DMACxBREQ signal goes active in the source peripheral. The burst size is not related to the AHB HBURST signal. ___________________________ ____ bit_value burst_transfer_size -----------------------------— 000 1 001 4

Definition at line 19843 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::SI

[26..26] Source increment. When set the source address is incremented after each transfer.

Definition at line 19881 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::SrcPeripheral

[4..1] Source peripheral. This value selects the DMA source request peripheral. This field is ignored if the source of the transfer is from memory. Note: The mapping of peripherals to App-side DMAC inputs is done within the DMAC_MUX_APP module. See 'dmac_mux_peripheral_input_sel*' registers for default mapping / current mapping. { | | value Com-side App-side 0 uart_rx dmac_mux_peripheral_input_sel0 1 uart_tx dmac_mux_peripheral_input_sel1 2

Definition at line 19905 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::SWidth

[20..18] Source transfer width: The source and destination widths can be different from each other. The hardware automatically packs and unpacks the data as required. _________________________ bit_value data_width ----------------------— 000 8 bit 001 16 bit 010 32 bit =========================

Definition at line 19861 of file netx90_app.h.

__IOM uint32_t dmac_app_ch_Type::TransferSize

[11..0] Transfer size: For writes, this field indicates the number of (Source width) transfers to perform when the DMAC is the flow controller. For reads, the transfer size indicates the number of transfers completed on the destination bus. Reading the register when the channel is active does not give useful information, as by the time that the software has processed the value read, the channel might have progressed. It is intended to be used only when a channel is enabled and then disabled. If the DMAC controller

Definition at line 19834 of file netx90_app.h.


The documentation for this struct was generated from the following file: