器件型号: AM263P4
工具/软件:
您好、
在`am263px/source/drivers/sdk/am263px/sdk.c`的以下 soc 代码中、soc 在启用/禁用外设时钟之前似乎没有解锁/锁定寄存器。 我认为必要的 b/c MSS_RCM 块使用锁定寄存器进行控制。 您能验证一下吗?
此外、您能否提供有关 同步机制的建议、以便多个内核解锁/锁定不会导致锁定写入? 例如、内核 0 解锁、内核 1 解锁、内核 0 写入寄存器 A、内核 0 锁定、内核 1 尝试写入寄存器 B(写入失败)
-Colin
int32_t SOC_moduleClockEnable(uint32_t moduleId, uint32_t enable)
{
int32_t status = SystemP_SUCCESS;
status = SOC_rcmEnablePeripheralClock((SOC_RcmPeripheralId)moduleId, enable);
return status;
}
int32_t SOC_moduleSetClockFrequency(uint32_t moduleId, uint32_t clkId, uint64_t clkRate)
{
int32_t status = SystemP_SUCCESS;
SOC_controlModuleUnlockMMR(0, MSS_RCM_PARTITION0);
status = SOC_rcmSetPeripheralClock((SOC_RcmPeripheralId)moduleId, (SOC_RcmPeripheralClockSource)clkId, (uint32_t)clkRate);
SOC_controlModuleLockMMR(0, MSS_RCM_PARTITION0);
return status;
}