TMPM4G(1) Group Peripheral Driver User Manual  V1.0.0.0
txz_hdma.h File Reference

This file provides all the functions prototypes for HDMA driver. More...

#include "txz_driver_def.h"

Go to the source code of this file.

Data Structures

struct  hdma_initial_setting_t
 Initial setting structure definition. More...
 
struct  hdma_ch_cnt_t
 Channel control setting structure definition. More...
 
struct  hdma_ch_cfg_t
 Channel config setting structure definition. More...
 
struct  hdma_ch_setting_t
 Channel setting structure definition. More...
 
struct  hdma_handle
 HDMA handle structure definition. More...
 

Macros

#define HDMA_CH_NUM   ((uint32_t)2)
 
#define HDMA_TRANS_TYPE_SINGLE   ((uint32_t)0x00000000)
 
#define HDMA_TRANS_TYPE_BURST   ((uint32_t)0x00000001)
 
#define HDMA_SRC_REQ_CH_MEM_USE   ((uint32_t)0x00000000)
 
#define HDMA_SRC_REQ_CH_1   ((uint32_t)0x00000001)
 
#define HDMA_SRC_REQ_CH_2   ((uint32_t)0x00000002)
 
#define HDMA_SRC_REQ_CH_3   ((uint32_t)0x00000003)
 
#define HDMA_SRC_REQ_CH_4   ((uint32_t)0x00000004)
 
#define HDMA_SRC_REQ_CH_5   ((uint32_t)0x00000005)
 
#define HDMA_SRC_REQ_CH_6   ((uint32_t)0x00000006)
 
#define HDMA_SRC_REQ_CH_7   ((uint32_t)0x00000007)
 
#define HDMA_SRC_REQ_CH_8   ((uint32_t)0x00000008)
 
#define HDMA_SRC_REQ_CH_9   ((uint32_t)0x00000009)
 
#define HDMA_SRC_REQ_CH_10   ((uint32_t)0x0000000A)
 
#define HDMA_SRC_REQ_CH_11   ((uint32_t)0x0000000B)
 
#define HDMA_SRC_REQ_CH_12   ((uint32_t)0x0000000C)
 
#define HDMA_SRC_REQ_CH_13   ((uint32_t)0x0000000D)
 
#define HDMA_SRC_REQ_CH_14   ((uint32_t)0x0000000E)
 
#define HDMA_SRC_REQ_CH_15   ((uint32_t)0x0000000F)
 
#define HDMA_DST_REQ_CH_MEM_USE   ((uint32_t)0x00000000)
 
#define HDMA_DST_REQ_CH_1   ((uint32_t)0x00000001)
 
#define HDMA_DST_REQ_CH_2   ((uint32_t)0x00000002)
 
#define HDMA_DST_REQ_CH_3   ((uint32_t)0x00000003)
 
#define HDMA_DST_REQ_CH_4   ((uint32_t)0x00000004)
 
#define HDMA_DST_REQ_CH_5   ((uint32_t)0x00000005)
 
#define HDMA_DST_REQ_CH_6   ((uint32_t)0x00000006)
 
#define HDMA_DST_REQ_CH_7   ((uint32_t)0x00000007)
 
#define HDMA_DST_REQ_CH_8   ((uint32_t)0x00000008)
 
#define HDMA_DST_REQ_CH_9   ((uint32_t)0x00000009)
 
#define HDMA_DST_REQ_CH_10   ((uint32_t)0x0000000A)
 
#define HDMA_DST_REQ_CH_11   ((uint32_t)0x0000000B)
 
#define HDMA_DST_REQ_CH_12   ((uint32_t)0x0000000C)
 
#define HDMA_DST_REQ_CH_13   ((uint32_t)0x0000000D)
 
#define HDMA_DST_REQ_CH_14   ((uint32_t)0x0000000E)
 
#define HDMA_DST_REQ_CH_15   ((uint32_t)0x0000000F)
 
#define HDMA_TRANS_INT_COMP_DISABLE   ((uint32_t)0x00000000)
 
#define HDMA_TRANS_INT_COMP_ENABLE   ((uint32_t)0x80000000)
 
#define HDMA_LLI_ADDRESS_MIN   ((uint32_t)0x00000000)
 
#define HDMA_LLI_ADDRESS_MAX   ((uint32_t)0x3FFFFFFF)
 
#define HDMA_TRANS_NUM_RANGE_MIN   ((uint32_t)0x00000001)
 
#define HDMA_TRANS_NUM_RANGE_MAX   ((uint32_t)0x00000400)
 
#define HDMA_DST_ADDR_FIX   ((uint32_t)0x00000000)
 
#define HDMA_DST_ADDR_INC   ((uint32_t)0x08000000)
 
#define HDMA_SRC_ADDR_FIX   ((uint32_t)0x00000000)
 
#define HDMA_SRC_ADDR_INC   ((uint32_t)0x04000000)
 
#define HDMA_DST_BITWIDTH_1BYTE   ((uint32_t)0x00000000)
 
#define HDMA_DST_BITWIDTH_2BYTE   ((uint32_t)0x00200000)
 
#define HDMA_DST_BITWIDTH_4BYTE   ((uint32_t)0x00400000)
 
#define HDMA_DST_BURSTSIZE_1BEAT   ((uint32_t)0x00000000)
 
#define HDMA_DST_BURSTSIZE_4BEAT   ((uint32_t)0x00008000)
 
#define HDMA_DST_BURSTSIZE_8BEAT   ((uint32_t)0x00010000)
 
#define HDMA_DST_BURSTSIZE_16BEAT   ((uint32_t)0x00018000)
 
#define HDMA_DST_BURSTSIZE_32BEAT   ((uint32_t)0x00020000)
 
#define HDMA_DST_BURSTSIZE_64BEAT   ((uint32_t)0x00028000)
 
#define HDMA_DST_BURSTSIZE_128BEAT   ((uint32_t)0x00030000)
 
#define HDMA_DST_BURSTSIZE_256BEAT   ((uint32_t)0x00038000)
 
#define HDMA_SRC_BITWIDTH_1BYTE   ((uint32_t)0x00000000)
 
#define HDMA_SRC_BITWIDTH_2BYTE   ((uint32_t)0x00040000)
 
#define HDMA_SRC_BITWIDTH_4BYTE   ((uint32_t)0x00080000)
 
#define HDMA_SRC_BURSTSIZE_1BEAT   ((uint32_t)0x00000000)
 
#define HDMA_SRC_BURSTSIZE_4BEAT   ((uint32_t)0x00001000)
 
#define HDMA_SRC_BURSTSIZE_8BEAT   ((uint32_t)0x00002000)
 
#define HDMA_SRC_BURSTSIZE_16BEAT   ((uint32_t)0x00003000)
 
#define HDMA_SRC_BURSTSIZE_32BEAT   ((uint32_t)0x00004000)
 
#define HDMA_SRC_BURSTSIZE_64BEAT   ((uint32_t)0x00005000)
 
#define HDMA_SRC_BURSTSIZE_128BEAT   ((uint32_t)0x00006000)
 
#define HDMA_SRC_BURSTSIZE_256BEAT   ((uint32_t)0x00007000)
 
#define HDMA_CH_E_DISABLE   ((uint32_t)0x00000000)
 
#define HDMA_CH_E_ENABLE   ((uint32_t)0x00000001)
 
#define HDMA_CH_SRCPERI_MASK   ((uint32_t)0x0000001E)
 
#define HDMA_CH_FLOWCNT_MEM_MEM   ((uint32_t)0x00000000)
 
#define HDMA_CH_FLOWCNT_MEM_PERI   ((uint32_t)0x00000800)
 
#define HDMA_CH_FLOWCNT_PERI_MEM   ((uint32_t)0x00001000)
 
#define HDMA_CH_FLOWCNT_PERI_PERI   ((uint32_t)0x00001800)
 
#define HDMA_CH_FLOWCNT_MASK   ((uint32_t)0x00001800)
 
#define HDMA_CH_DSTPERI_MASK   ((uint32_t)0x000003C0)
 
#define HDMA_CH_IE_DISABLE   ((uint32_t)0x00000000)
 
#define HDMA_CH_IE_ENABLE   ((uint32_t)0x00004000)
 
#define HDMA_CH_ITC_DISABLE   ((uint32_t)0x00000000)
 
#define HDMA_CH_ITC_ENABLE   ((uint32_t)0x00008000)
 
#define HDMA_CH_LOCK_DISABLE   ((uint32_t)0x00000000)
 
#define HDMA_CH_LOCK_ENABLE   ((uint32_t)0x00010000)
 
#define HDMA_CH_ACT_MASK   ((uint32_t)0x00020000)
 
#define HDMA_CH_HALT_ENABLE   ((uint32_t)0x00000000)
 
#define HDMA_CH_HALT_DISABLE   ((uint32_t)0x00040000)
 
#define HDMA_ITC_DISABLE   ((uint32_t)0x00000000)
 
#define HDMA_ITC_ENABLE   ((uint32_t)0x80000000)
 

Typedefs

typedef struct hdma_handle hdma_t
 HDMA handle structure definition. More...
 

Functions

TXZ_Result hdma_init (hdma_t *p_obj)
 
TXZ_Result hdma_deinit (hdma_t *p_obj)
 
TXZ_Result hdma_get_error (hdma_t *p_obj, uint32_t *p_err)
 
TXZ_Result hdma_clear_error (hdma_t *p_obj)
 
TXZ_Result hdma_error_irq_handler (hdma_t *p_obj)
 
TXZ_Result hdma_channel_init (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_irq_handler (hdma_t *p_obj)
 
TXZ_Result hdma_HALT_enable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_ITC_enable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_ITC_disable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_LOCK_enable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_LOCK_disable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_IE_enable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_IE_disable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_E_enable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_E_disable (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_FlowType_Set (hdma_t *p_obj, uint32_t dma_ch, uint32_t type)
 
TXZ_Result hdma_srcPeri_Set (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_dstPeri_Set (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_lli_set (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_startIt (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_stopIt (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_startPeriIt (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result hdma_stopPeriIt (hdma_t *p_obj, uint32_t dma_ch)
 
TXZ_Result get_src_address (hdma_t *p_obj, uint32_t dma_ch, uint32_t *addr)
 
TXZ_Result get_dst_address (hdma_t *p_obj, uint32_t dma_ch, uint32_t *addr)
 

Detailed Description

This file provides all the functions prototypes for HDMA driver.

Version
V1.0.0.1
Date
2018-02-23 14:22:19

DO NOT USE THIS SOFTWARE WITHOUT THE SOFTWARE LICENSE AGREEMENT.

Copyright(C) Toshiba Electronic Device Solutions Corporation 2019