Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
renesas_rx_dtc.h File Reference

Go to the source code of this file.

Data Structures

struct  st_transfer_info
struct  st_transfer_properties
struct  dtc_transfer_status

Macros

#define DTC_PLACE_IN_SECTION(x)
#define DTC_ALIGN_VARIABLE(x)
#define DTC_SECTION_ATTRIBUTE   DTC_PLACE_IN_SECTION(".dtc_vector_table")
#define DTC_VECTOR_TABLE_ENTRIES   (CONFIG_NUM_IRQS)
#define DTC_PRV_ACT_BIT_MASK   (1 << 15) /* DTC Active flag (DTCSTS.ACT) bit mask */
#define DTC_PRV_VECT_NR_MASK   (0x00FF) /* DTC-Activating Vector Number bits mask */
#define DTC_PRV_MASK_CRAL   (0xFFU)
#define DTC_PRV_OFFSET_CRAH   (8U)
#define DTC_MAX_NORMAL_TRANSFER_LENGTH   (0x10000)
#define DTC_MAX_REPEAT_TRANSFER_LENGTH   (0x100)
#define DTC_MAX_BLOCK_TRANSFER_LENGTH   (0x100)
#define DTC_MAX_BLOCK_COUNT   (0x10000)

Typedefs

typedef enum e_transfer_addr_mode transfer_addr_mode_t
typedef enum e_transfer_repeat_area transfer_repeat_area_t
typedef enum e_transfer_irq transfer_irq_t
typedef enum e_transfer_chain_mode transfer_chain_mode_t
typedef enum e_transfer_size transfer_size_t
typedef enum e_transfer_mode transfer_mode_t
typedef enum e_dtc_act_status dtc_act_status_t
typedef struct st_transfer_info transfer_info_t
typedef struct st_transfer_properties transfer_properties_t

Enumerations

enum  e_transfer_addr_mode { TRANSFER_ADDR_MODE_FIXED = 0 , TRANSFER_ADDR_MODE_OFFSET = 1 , TRANSFER_ADDR_MODE_INCREMENTED = 2 , TRANSFER_ADDR_MODE_DECREMENTED = 3 }
enum  e_transfer_repeat_area { TRANSFER_REPEAT_AREA_DESTINATION = 0 , TRANSFER_REPEAT_AREA_SOURCE = 1 }
enum  e_transfer_irq { TRANSFER_IRQ_END = 0 , TRANSFER_IRQ_EACH = 1 }
enum  e_transfer_chain_mode { TRANSFER_CHAIN_MODE_DISABLED = 0 , TRANSFER_CHAIN_MODE_EACH = 2 , TRANSFER_CHAIN_MODE_END = 3 }
enum  e_transfer_size { TRANSFER_SIZE_1_BYTE = 0 , TRANSFER_SIZE_2_BYTE = 1 , TRANSFER_SIZE_4_BYTE = 2 }
enum  e_transfer_mode { TRANSFER_MODE_NORMAL = 0 , TRANSFER_MODE_REPEAT = 1 , TRANSFER_MODE_BLOCK = 2 , TRANSFER_MODE_REPEAT_BLOCK = 3 }
enum  e_dtc_act_status { DTC_ACT_IDLE = 0 , DTC_ACT_CONFIGURED = 1 , DTC_ACT_IN_PROGRESS = 2 }

Functions

int dtc_renesas_rx_off (const struct device *dev)
 Turn off module DTC.
int dtc_renesas_rx_on (const struct device *dev)
 Turn on module DTC.
int dtc_renesas_rx_configuration (const struct device *dev, uint8_t activation_irq, transfer_info_t *p_info)
 Configure the p_info state and write p_info to DTC vector table.
int dtc_renesas_rx_enable_transfer (uint8_t activation_irq)
 Enable transfer in ICU on this activation source.
int dtc_renesas_rx_disable_transfer (uint8_t activation_irq)
 Disable transfer in ICU on this activation source.
int dtc_renesas_rx_start_transfer (const struct device *dev, uint8_t activation_irq)
 Start transfers on this activation source.
int dtc_renesas_rx_stop_transfer (const struct device *dev, uint8_t activation_irq)
 Stop transfers on this activation source.
int dtc_renesas_rx_reset_transfer (const struct device *dev, uint8_t activation_irq, void const *p_src, void *p_dest, uint16_t const num_transfers)
 Reset transfer on this activation source.
void dtc_renesas_rx_get_transfer_status (const struct device *dev, struct dtc_transfer_status *status)
 Get status transfer of DTC module and store it into status pointer.
int dtc_renesas_rx_info_get (const struct device *dev, uint8_t activation_irq, transfer_properties_t *const p_properties)
 Get information about this transfer and store it into p_properties.
static ALWAYS_INLINE bool is_valid_activation_irq (uint8_t activation_irq)

Macro Definition Documentation

◆ DTC_ALIGN_VARIABLE

#define DTC_ALIGN_VARIABLE ( x)
Value:
__aligned(x)

◆ DTC_MAX_BLOCK_COUNT

#define DTC_MAX_BLOCK_COUNT   (0x10000)

◆ DTC_MAX_BLOCK_TRANSFER_LENGTH

#define DTC_MAX_BLOCK_TRANSFER_LENGTH   (0x100)

◆ DTC_MAX_NORMAL_TRANSFER_LENGTH

#define DTC_MAX_NORMAL_TRANSFER_LENGTH   (0x10000)

◆ DTC_MAX_REPEAT_TRANSFER_LENGTH

#define DTC_MAX_REPEAT_TRANSFER_LENGTH   (0x100)

◆ DTC_PLACE_IN_SECTION

#define DTC_PLACE_IN_SECTION ( x)
Value:
__attribute__((section(x))) __attribute__((__used__))

◆ DTC_PRV_ACT_BIT_MASK

#define DTC_PRV_ACT_BIT_MASK   (1 << 15) /* DTC Active flag (DTCSTS.ACT) bit mask */

◆ DTC_PRV_MASK_CRAL

#define DTC_PRV_MASK_CRAL   (0xFFU)

◆ DTC_PRV_OFFSET_CRAH

#define DTC_PRV_OFFSET_CRAH   (8U)

◆ DTC_PRV_VECT_NR_MASK

#define DTC_PRV_VECT_NR_MASK   (0x00FF) /* DTC-Activating Vector Number bits mask */

◆ DTC_SECTION_ATTRIBUTE

#define DTC_SECTION_ATTRIBUTE   DTC_PLACE_IN_SECTION(".dtc_vector_table")

◆ DTC_VECTOR_TABLE_ENTRIES

#define DTC_VECTOR_TABLE_ENTRIES   (CONFIG_NUM_IRQS)

Typedef Documentation

◆ dtc_act_status_t

◆ transfer_addr_mode_t

◆ transfer_chain_mode_t

◆ transfer_info_t

◆ transfer_irq_t

◆ transfer_mode_t

◆ transfer_properties_t

◆ transfer_repeat_area_t

◆ transfer_size_t

Enumeration Type Documentation

◆ e_dtc_act_status

Enumerator
DTC_ACT_IDLE 
DTC_ACT_CONFIGURED 
DTC_ACT_IN_PROGRESS 

◆ e_transfer_addr_mode

Enumerator
TRANSFER_ADDR_MODE_FIXED 
TRANSFER_ADDR_MODE_OFFSET 
TRANSFER_ADDR_MODE_INCREMENTED 
TRANSFER_ADDR_MODE_DECREMENTED 

◆ e_transfer_chain_mode

Enumerator
TRANSFER_CHAIN_MODE_DISABLED 
TRANSFER_CHAIN_MODE_EACH 
TRANSFER_CHAIN_MODE_END 

◆ e_transfer_irq

Enumerator
TRANSFER_IRQ_END 
TRANSFER_IRQ_EACH 

◆ e_transfer_mode

Enumerator
TRANSFER_MODE_NORMAL 
TRANSFER_MODE_REPEAT 
TRANSFER_MODE_BLOCK 
TRANSFER_MODE_REPEAT_BLOCK 

◆ e_transfer_repeat_area

Enumerator
TRANSFER_REPEAT_AREA_DESTINATION 
TRANSFER_REPEAT_AREA_SOURCE 

◆ e_transfer_size

Enumerator
TRANSFER_SIZE_1_BYTE 
TRANSFER_SIZE_2_BYTE 
TRANSFER_SIZE_4_BYTE 

Function Documentation

◆ dtc_renesas_rx_configuration()

int dtc_renesas_rx_configuration ( const struct device * dev,
uint8_t activation_irq,
transfer_info_t * p_info )

Configure the p_info state and write p_info to DTC vector table.

Parameters
devDTC device instance.
activation_irqactivation source.
p_infotransfer info.
Return values
0On success.
-EINVALif activation source is invalid.

◆ dtc_renesas_rx_disable_transfer()

int dtc_renesas_rx_disable_transfer ( uint8_t activation_irq)

Disable transfer in ICU on this activation source.

Parameters
activation_irqactivation source.
Return values
0On success.
-EINVALif activation source is invalid.

◆ dtc_renesas_rx_enable_transfer()

int dtc_renesas_rx_enable_transfer ( uint8_t activation_irq)

Enable transfer in ICU on this activation source.

Parameters
activation_irqactivation source.
Return values
0On success.
-EINVALif activation source is invalid.

◆ dtc_renesas_rx_get_transfer_status()

void dtc_renesas_rx_get_transfer_status ( const struct device * dev,
struct dtc_transfer_status * status )

Get status transfer of DTC module and store it into status pointer.

Parameters
devDTC device instance.
statusDTC status.

◆ dtc_renesas_rx_info_get()

int dtc_renesas_rx_info_get ( const struct device * dev,
uint8_t activation_irq,
transfer_properties_t *const p_properties )

Get information about this transfer and store it into p_properties.

Parameters
devDTC device instance.
activation_irqActivation source IRQ number.
p_propertiesPointer to structure to receive driver-specific transfer properties.
Return values
0On success.
-EINVALIf activation source is invalid.

◆ dtc_renesas_rx_off()

int dtc_renesas_rx_off ( const struct device * dev)

Turn off module DTC.

Parameters
devDTC device instance.
Return values
0On success.

◆ dtc_renesas_rx_on()

int dtc_renesas_rx_on ( const struct device * dev)

Turn on module DTC.

Parameters
devDTC device instance.
Return values
0On success.

◆ dtc_renesas_rx_reset_transfer()

int dtc_renesas_rx_reset_transfer ( const struct device * dev,
uint8_t activation_irq,
void const * p_src,
void * p_dest,
uint16_t const num_transfers )

Reset transfer on this activation source.

Parameters
devDTC device instance.
activation_irqActivation source IRQ number.
p_srcPointer to the source address for the transfer.
p_destPointer to the destination address for the transfer.
num_transfersNumber of data units to transfer.
Return values
0On success.
-EINVALIf activation source is invalid.

◆ dtc_renesas_rx_start_transfer()

int dtc_renesas_rx_start_transfer ( const struct device * dev,
uint8_t activation_irq )

Start transfers on this activation source.

Parameters
devDTC device instance.
activation_irqactivation source.
Return values
0On success.
-EINVALif activation source is invalid.
-EACCESif this activation source in dtc vector table is not configured.

◆ dtc_renesas_rx_stop_transfer()

int dtc_renesas_rx_stop_transfer ( const struct device * dev,
uint8_t activation_irq )

Stop transfers on this activation source.

Parameters
devDTC device instance.
activation_irqactivation source.
Return values
0On success.
-EINVALif activation source is invalid.
-EACCESif this activation source in dtc vector table is not configured.

◆ is_valid_activation_irq()

ALWAYS_INLINE bool is_valid_activation_irq ( uint8_t activation_irq)
static