Hi Ti,
I got an application running on mcu2_0 which gets loaded and started by u-boot rproc. This application access the "COMPUTE_CLUSTER0_DRU_QUEUE" (0x006D008000).
Here is the code which access in the end the register (csl_dru.c)
int32_t CSL_druQueueConfig(const CSL_DRU_t *pRegs,
uint32_t queueId,
const CSL_DruQueueConfig *queueCfg)
{
int32_t retVal = CSL_PASS;
uint64_t regVal;
if((queueId >= CSL_DRU_NUM_QUEUE) || (NULL == queueCfg))
{
retVal = CSL_EFAIL;
}
else
{
regVal = CSL_FMK(DRU_QUEUE_CFG_PRI, queueCfg->priority);
regVal |= CSL_FMK(DRU_QUEUE_CFG_QOS, queueCfg->qos);
regVal |= CSL_FMK(DRU_QUEUE_CFG_ORDERID, queueCfg->orderId);
regVal |= CSL_FMK(DRU_QUEUE_CFG_CONSECUTIVE_TRANS,
queueCfg->consecuitveTrans);
regVal |= CSL_FMK(DRU_QUEUE_CFG_REARB_WAIT, queueCfg->rearbWait);
CSL_REG64_WR(&pRegs->DRUQueues.CFG[queueId], regVal);
}
return (retVal);
}
The problem is, that after upgrading u-boot from PSDK-Linux (7.3) to 8.x, it seems this register is not writeable anymore from the mcu2_0. The quoted ti dru driver code fails at CSL_REG64_WR call.
I suspect that something changed in the u-boot versions and somehow this (and more) registers are write protected for some cores.
Can you please tell me what the restricted access has caused and how I could change that?
The same application tries also to access PCIe specific address range (0x1000 0000 - 0x17ff ffff) which also fails now. I think the root cause is the same as at the COMPUTE_CLUSTER0_DRU_QUEUE register.
Any help is highly welcomed.
Best regards,
Thomas
PS: This can also be checked quickly via CCS. Just boot u-boot 7.3 and then connect to mcu2_0. Try to write access COMPUTE_CLUSTER0_DRU_QUEUE. It works.
Do the same with u-boot 8.x (8.04 for example) and you will get a message like this: "MAIN_Cortex_R5_0_0: Trouble Writing Memory Block at 0x6d008000 on Page 0 of Length 0x4: (Error -1065 @ 0x0) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.9.0.00040)"