simplified code.

This commit is contained in:
Gatsby Van
2024-01-24 10:49:08 +08:00
parent 18e8be863a
commit 9b485bbb93
4 changed files with 55 additions and 33 deletions
+2 -2
View File
@@ -107,7 +107,7 @@ static PHY_CONFIG phyConfig = {
.hwXadcId = PHY_HW_XADC_DEVICE_ID .hwXadcId = PHY_HW_XADC_DEVICE_ID
}; };
TIMECTRL_CONFIG tmcConfig = { TMC_CONFIG tmcConfig = {
.baseAddr = 0, //TIME_CONTROLLER_BASEADDR, .baseAddr = 0, //TIME_CONTROLLER_BASEADDR,
.reset = 10 .reset = 10
}; };
@@ -122,7 +122,7 @@ static struct irq_ctrl_desc *intcDescPtr; // General interrupt controller descri
static struct timer_desc *logTmPtr; static struct timer_desc *logTmPtr;
static SYSBUS *sysbusDescPtr; static SYSBUS *sysbusDescPtr;
static PHY_INST *phyInstPtr; static PHY_INST *phyInstPtr;
static TIMECTRL_INST *tmcInstPtr = NULL; static TMC_INST *tmcInstPtr = NULL;
static L2_INST *linkInstPtr; static L2_INST *linkInstPtr;
/****************************************************************************/ /****************************************************************************/
+2 -2
View File
@@ -103,7 +103,7 @@ static PHY_CONFIG phyConfig = {
.hwXadcId = PHY_HW_XADC_DEVICE_ID .hwXadcId = PHY_HW_XADC_DEVICE_ID
}; };
TIMECTRL_CONFIG tmcConfig = { TMC_CONFIG tmcConfig = {
.baseAddr = 0, //TIME_CONTROLLER_BASEADDR, .baseAddr = 0, //TIME_CONTROLLER_BASEADDR,
.reset = 10 .reset = 10
}; };
@@ -118,7 +118,7 @@ static struct irq_ctrl_desc *intcDescPtr; // General interrupt controller descri
static struct timer_desc *logTmPtr; static struct timer_desc *logTmPtr;
static SYSBUS *sysbusDescPtr; static SYSBUS *sysbusDescPtr;
static PHY_INST *phyInstPtr; static PHY_INST *phyInstPtr;
static TIMECTRL_INST *tmcInstPtr = NULL; static TMC_INST *tmcInstPtr = NULL;
static L2_INST *linkInstPtr; static L2_INST *linkInstPtr;
static struct hmc7044_dev *hmc7044_inst; static struct hmc7044_dev *hmc7044_inst;
+36 -14
View File
@@ -51,12 +51,12 @@
* FAILURE Initialization failed * FAILURE Initialization failed
* *
******************************************************************************/ ******************************************************************************/
int32_t TimeCtrl_Init(TIMECTRL_INST **instPtr, TIMECTRL_CONFIG *config) int32_t TimeCtrl_Init(TMC_INST **instPtr, TMC_CONFIG *config)
{ {
ASSERT(config != NULL); ASSERT(config != NULL);
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
(*instPtr) = malloc(sizeof(TIMECTRL_INST)); (*instPtr) = malloc(sizeof(TMC_INST));
memcpy(&((*instPtr)->config), config, sizeof(TIMECTRL_CONFIG)); memcpy(&((*instPtr)->config), config, sizeof(TMC_CONFIG));
(*instPtr)->modelVer = TMC_Read((*instPtr), VERSION_REG); (*instPtr)->modelVer = TMC_Read((*instPtr), VERSION_REG);
return SUCCESS; return SUCCESS;
} }
@@ -70,7 +70,7 @@ int32_t TimeCtrl_Init(TIMECTRL_INST **instPtr, TIMECTRL_CONFIG *config)
* @return NONE * @return NONE
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_Destroy(TIMECTRL_INST *instPtr) void TimeCtrl_Destroy(TMC_INST *instPtr)
{ {
free(instPtr); free(instPtr);
} }
@@ -84,7 +84,7 @@ void TimeCtrl_Destroy(TIMECTRL_INST *instPtr)
* @return timer controller version. * @return timer controller version.
* *
******************************************************************************/ ******************************************************************************/
uint32_t TimeCtrl_GetVersion(TIMECTRL_INST *instPtr) uint32_t TimeCtrl_GetVersion(TMC_INST *instPtr)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
return TMC_Read(instPtr, VERSION_REG); return TMC_Read(instPtr, VERSION_REG);
@@ -100,7 +100,7 @@ uint32_t TimeCtrl_GetVersion(TIMECTRL_INST *instPtr)
* FAILURE Initialization failed * FAILURE Initialization failed
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_Reset(TIMECTRL_INST *instPtr) void TimeCtrl_Reset(TMC_INST *instPtr)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
TMC_Write(instPtr, CNTSTEP_OPT, TM_RESET_CODE); TMC_Write(instPtr, CNTSTEP_OPT, TM_RESET_CODE);
@@ -115,7 +115,7 @@ void TimeCtrl_Reset(TIMECTRL_INST *instPtr)
* @return NONE * @return NONE
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_ResetHigh(TIMECTRL_INST *instPtr) void TimeCtrl_ResetHigh(TMC_INST *instPtr)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
// TODO: // TODO:
@@ -130,7 +130,7 @@ void TimeCtrl_ResetHigh(TIMECTRL_INST *instPtr)
* @return NONE * @return NONE
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_ResetLow(TIMECTRL_INST *instPtr) void TimeCtrl_ResetLow(TMC_INST *instPtr)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
// TODO: // TODO:
@@ -145,7 +145,7 @@ void TimeCtrl_ResetLow(TIMECTRL_INST *instPtr)
* @return integer value * @return integer value
* *
******************************************************************************/ ******************************************************************************/
inline TIME_INT TimeCtrl_GetIntCnt(TIMECTRL_INST *instPtr) inline TIME_INT TimeCtrl_GetIntCnt(TMC_INST *instPtr)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
return TMC_Read(instPtr, TIME_INT_REG); return TMC_Read(instPtr, TIME_INT_REG);
@@ -160,7 +160,7 @@ inline TIME_INT TimeCtrl_GetIntCnt(TIMECTRL_INST *instPtr)
* @return fractional value * @return fractional value
* *
******************************************************************************/ ******************************************************************************/
inline TIME_FRAC TimeCtrl_GetFracCnt(TIMECTRL_INST *instPtr) inline TIME_FRAC TimeCtrl_GetFracCnt(TMC_INST *instPtr)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
return TMC_Read(instPtr, TIME_FRAC_REG); return TMC_Read(instPtr, TIME_FRAC_REG);
@@ -176,7 +176,7 @@ inline TIME_FRAC TimeCtrl_GetFracCnt(TIMECTRL_INST *instPtr)
* @return NONE * @return NONE
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_GetCurrentTime(TIMECTRL_INST *instPtr, TIME_WORD *tmWord) void TimeCtrl_GetCurrentTime(TMC_INST *instPtr, TIME_WORD *tmWord)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
ASSERT(tmWord != NULL); ASSERT(tmWord != NULL);
@@ -194,7 +194,7 @@ void TimeCtrl_GetCurrentTime(TIMECTRL_INST *instPtr, TIME_WORD *tmWord)
* @return NONE. * @return NONE.
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_GetCurrentStep(TIMECTRL_INST *instPtr, TIME_FRAC *tmFrac) void TimeCtrl_GetCurrentStep(TMC_INST *instPtr, TIME_FRAC *tmFrac)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
ASSERT(tmFrac != NULL); ASSERT(tmFrac != NULL);
@@ -212,7 +212,7 @@ void TimeCtrl_GetCurrentStep(TIMECTRL_INST *instPtr, TIME_FRAC *tmFrac)
* @return NONE. * @return NONE.
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_TimeAdjust(TIMECTRL_INST *instPtr, const TIME_WORD *tmWord, TIMECTRL_ADJ_TYPE type) void TimeCtrl_TimeAdjust(TMC_INST *instPtr, const TIME_WORD *tmWord, TIMECTRL_ADJ_TYPE type)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
ASSERT(tmWord != NULL); ASSERT(tmWord != NULL);
@@ -231,6 +231,28 @@ void TimeCtrl_TimeAdjust(TIMECTRL_INST *instPtr, const TIME_WORD *tmWord, TIMECT
TMC_Write(instPtr, TIME_ADJ_INT, tmWord->int_part); TMC_Write(instPtr, TIME_ADJ_INT, tmWord->int_part);
TMC_Write(instPtr, TIME_ADJ_MODE, type); TMC_Write(instPtr, TIME_ADJ_MODE, type);
TMC_Write(instPtr, TIME_ADJ_TRIG, type); TMC_Write(instPtr, TIME_ADJ_TRIG, type);
#ifdef EMULATION
uint32_t regFrac, regInt;
switch (type)
{
case TM_ADJ_ADD:
regFrac = TMC_Read(instPtr, TIME_FRAC_REG) + tmWord->frac_part;
regInt = TMC_Read(instPtr, TIME_INT_REG) + tmWord->int_part;
regInt += regFrac / TIME_FRAC_MAX;
regFrac %= TIME_FRAC_MAX;
TMC_Write(instPtr, TIME_FRAC_REG, regFrac);
TMC_Write(instPtr, TIME_INT_REG, regInt);
break;
case TM_ADJ_SET:
TMC_Write(instPtr, TIME_FRAC_REG, tmWord->frac_part);
TMC_Write(instPtr, TIME_INT_REG, tmWord->int_part);
break;
default:
break;
}
#endif
} }
/*****************************************************************************/ /*****************************************************************************/
@@ -243,7 +265,7 @@ void TimeCtrl_TimeAdjust(TIMECTRL_INST *instPtr, const TIME_WORD *tmWord, TIMECT
* @return NONE. * @return NONE.
* *
******************************************************************************/ ******************************************************************************/
void TimeCtrl_SetOptimizeStep(TIMECTRL_INST *instPtr, TIME_FRAC *tmFrac) void TimeCtrl_SetOptimizeStep(TMC_INST *instPtr, TIME_FRAC *tmFrac)
{ {
ASSERT(instPtr != NULL); ASSERT(instPtr != NULL);
ASSERT(tmFrac != NULL); ASSERT(tmFrac != NULL);
+15 -15
View File
@@ -45,30 +45,30 @@ typedef struct
{ {
uintptr_t baseAddr; uintptr_t baseAddr;
uint32_t reset; // time for reset (unit: us) uint32_t reset; // time for reset (unit: us)
} TIMECTRL_CONFIG; } TMC_CONFIG;
typedef struct typedef struct
{ {
TIMECTRL_CONFIG config; TMC_CONFIG config;
uint32_t modelVer; uint32_t modelVer;
} TIMECTRL_INST; } TMC_INST;
/************************** Function Prototypes ******************************/ /************************** Function Prototypes ******************************/
int32_t TimeCtrl_Init(TIMECTRL_INST **instPtr, TIMECTRL_CONFIG *config); int32_t TimeCtrl_Init(TMC_INST **instPtr, TMC_CONFIG *config);
uint32_t TimeCtrl_GetVersion(TIMECTRL_INST *instPtr); uint32_t TimeCtrl_GetVersion(TMC_INST *instPtr);
void TimeCtrl_Destroy(TIMECTRL_INST *instPtr); void TimeCtrl_Destroy(TMC_INST *instPtr);
void TimeCtrl_Reset(TIMECTRL_INST *instPtr); void TimeCtrl_Reset(TMC_INST *instPtr);
void TimeCtrl_ResetLow(TIMECTRL_INST *instPtr); void TimeCtrl_ResetLow(TMC_INST *instPtr);
void TimeCtrl_ResetHigh(TIMECTRL_INST *instPtr); void TimeCtrl_ResetHigh(TMC_INST *instPtr);
TIME_INT TimeCtrl_GetIntCnt(TIMECTRL_INST *instPtr); TIME_INT TimeCtrl_GetIntCnt(TMC_INST *instPtr);
TIME_FRAC TimeCtrl_GetFracCnt(TIMECTRL_INST *instPtr); TIME_FRAC TimeCtrl_GetFracCnt(TMC_INST *instPtr);
void TimeCtrl_GetCurrentTime(TIMECTRL_INST *instPtr, TIME_WORD *tmWord); void TimeCtrl_GetCurrentTime(TMC_INST *instPtr, TIME_WORD *tmWord);
void TimeCtrl_GetCurrentStep(TIMECTRL_INST *instPtr, TIME_FRAC *tmFrac); void TimeCtrl_GetCurrentStep(TMC_INST *instPtr, TIME_FRAC *tmFrac);
void TimeCtrl_SetOptimizeStep(TIMECTRL_INST *instPtr, TIME_FRAC *tmFrac); void TimeCtrl_SetOptimizeStep(TMC_INST *instPtr, TIME_FRAC *tmFrac);
void TimeCtrl_TimeAdjust(TIMECTRL_INST *instPtr, const TIME_WORD *tmWord, TIMECTRL_ADJ_TYPE type); void TimeCtrl_TimeAdjust(TMC_INST *instPtr, const TIME_WORD *tmWord, TIMECTRL_ADJ_TYPE type);
void TimeCtrl_CalculateTimeGap(const TIME_WORD *a, const TIME_WORD *b, TIME_WORD *gap); void TimeCtrl_CalculateTimeGap(const TIME_WORD *a, const TIME_WORD *b, TIME_WORD *gap);
#endif /* TIME_SYNC_H_ */ #endif /* TIME_SYNC_H_ */