This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2432: how to set the MCAN of PowerClock_init in M4F

Part Number: AM2432

Hi Sir

I can't initial Power Clock of MCAN in M4F.

Could you show me how to set the MCAN of PowerClock_init in M4F?

Below code is for MCAN of PowerClock_init, but it don't work in M4F.

What should I do to modify the PowerClock_init for MCAN in M4F?

 Could you help me review it?

     AM2432 MCAN TEST FW

#define SOC_MODULES_END (0xFFFFFFFFu)

typedef struct {

uint32_t moduleId;
uint32_t clkId;
uint32_t clkRate;

} SOC_ModuleClockFrequency;

uint32_t MCAN_gSocModules[] = {
TISCI_DEV_MCAN0,

SOC_MODULES_END,
};

SOC_ModuleClockFrequency MCAN_gSocModulesClockFrequency[] = {
{ TISCI_DEV_MCAN0, TISCI_DEV_MCAN0_MCANSS_CCLK_CLK, 80000000 },

{ SOC_MODULES_END, SOC_MODULES_END, SOC_MODULES_END },
};

void MCAN_Module_clockEnable(void)
{
int32_t status;
uint32_t i = 0;

while(MCAN_gSocModules[i]!=SOC_MODULES_END)
{
status = SOC_moduleClockEnable(MCAN_gSocModules[i], 1);
DebugP_assertNoLog(status == SystemP_SUCCESS);
i++;
}
}

void MCAN_Module_clockDisable(void)
{
int32_t status;
uint32_t i = 0;

while(MCAN_gSocModules[i]!=SOC_MODULES_END)
{
status = SOC_moduleClockEnable(MCAN_gSocModules[i], 0);
DebugP_assertNoLog(status == SystemP_SUCCESS);
i++;
}
}

void MCAN_Module_clockSetFrequency(void)
{
int32_t status;
uint32_t i = 0;

while(MCAN_gSocModulesClockFrequency[i].moduleId!=SOC_MODULES_END)
{
status = SOC_moduleSetClockFrequency(
MCAN_gSocModulesClockFrequency[i].moduleId,
MCAN_gSocModulesClockFrequency[i].clkId,
MCAN_gSocModulesClockFrequency[i].clkRate
);
DebugP_assertNoLog(status == SystemP_SUCCESS);
i++;
}
}

void MCAN_PowerClock_init(void)
{
MCAN_Module_clockEnable();
MCAN_Module_clockSetFrequency();
}

BR

Sheng Yi