HwA_Flagchip_FC7240/Inc/HwA_mam.h

127 lines
2.7 KiB
C

/**
* @file HwA_mam.h
* @author Flagchip
* @brief Hardware access layer for MAM
* @version 0.2.0
* @date 2023-02-08
*
* @copyright Copyright (c) 2023 Flagchip Semiconductors Co., Ltd.
*
*/
/* ********************************************************************************
* Revision History:
*
* Version Date Initials CR# Descriptions
* --------- ---------- ------------ ---------- ---------------
* 0.1.0 2023-02-08 Flagchip054 N/A First version for FC7300
******************************************************************************** */
#ifndef _HWA_MAM_H_
#define _HWA_MAM_H_
#include "device_header.h"
/**
* @brief Set Mam module Matrix Configure register
*
* @param1 MAM base pointer
*
* @param2 u32Value Matrix Configure register value
*/
LOCAL_INLINE void Mam_HWA_SetMatrixCfg(MAM_Type *MAMInstance, uint32_t u32Value)
{
MAMInstance->MAXCFG = u32Value;
}
/**
* @brief Read Mam module Ctrl register
*
* @param MAM base pointer
*
* @return Matrix Configure register value
*/
LOCAL_INLINE uint32_t Mam_HWA_GetMatrixCfg(MAM_Type *MAMInstance)
{
return (uint32_t)(MAMInstance->MAXCFG);
}
/**
* @brief Set Mam module Wdgctr register
*
* @param1 MAM base pointer
*
* @param2 u32Value Wdgctr register value
*/
LOCAL_INLINE void Mam_HWA_Set_Wdgctr(MAM_Type *MAMInstance, uint32_t u32Value)
{
MAMInstance->WDGCR = u32Value;
}
/**
* @brief Read Mam module Wdgctr register
*
* @param MAM base pointer
*
* @return Wdgctr register value
*/
LOCAL_INLINE uint32 Mam_HWA_Get_Wdgctr(MAM_Type *MAMInstance)
{
return MAMInstance->WDGCR;
}
/**
* @brief Set Mam module ACR register
*
* @param1 MAM base pointer
*
* @param2 idx ACR register index
*
* @param3 u32Value ACR register value
*/
LOCAL_INLINE void Mam_HWA_Set_ACR(MAM_Type *MAMInstance, uint32_t idx, uint32_t u32Value)
{
MAMInstance->ACR[idx] = u32Value;
}
/**
* @brief Read Mam module ACR register
*
* @param1 MAM base pointer
*
* @param2 idx ACR register index
*
* @return ACR register value
*/
LOCAL_INLINE uint32_t Mam_HWA_Get_ACR(MAM_Type *MAMInstance, uint32_t idx)
{
return MAMInstance->ACR[idx];
}
/**
* @brief Set Mam module ACLR register
*
* @param1 MAM base pointer
*
* @param2 idx ACLR register index
*
* @param3 u32Value ACLR register value
*/
LOCAL_INLINE void Mam_HWA_Set_ACLR(MAM_Type *MAMInstance, uint32_t idx, uint32_t u32Value)
{
MAMInstance->ACLR[idx] = u32Value;
}
/**
* @brief Read Mam module ACLR register
*
* @param1 MAM base pointer
*
* @param2 idx ACLR register index
*
* @return ACLR register value
*/
LOCAL_INLINE uint32_t Mam_HWA_Get_ACLR(MAM_Type *MAMInstance, uint32_t idx)
{
return MAMInstance->ACLR[idx];
}
#endif