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.

DM8148 EVM board McASP "XCKFAIL" error?

Hi,

I am getting an "XCKFAIL" error once upon I enable the McASP 0 clock by using following: 

WR_MEM_32(CM_ALWON_L3_SLOW_CLKSTCTRL, 2);  /* 0x48181400 = 2*/

WR_MEM_32(CM_ALWON_MCASP_0_CLKCTRL, 2);  /* 0x48181540 = 2*/

The McASP transmit status XSTAT never has XDATA ready (=0)  status. And I found XSTAT does not allow to reset by writing "1" to it either.

Should I ignore this and don't check XDATA before I send data? Then what should I check to get the "ready" status?

Can somebody tell me what else I should have configured to make the McASP clock working?

 

Thanks in advance.

Philip

  • Hi Philip,

     

    It appears from the clocks that you are setting up a clock to the McASP, do you have the McASP module enabled and not in some standby state which would be in the power management section. Can they start CCS and access the McASP module registers? If not, then the module is probably being held in reset.? Are there any pinmux concerns? Do they have the other McASP parameters set for transmit?

    You should be able to probe the board and see if you are getting clock from the McASP.

    Regards

  • Hi Viet:

    Thanks for your reply.

    The command is to enable McASP clock:

    WR_MEM_32(CM_ALWON_MCASP_0_CLKCTRL, 2);  /* 0x48181540 = 2*/

    And after this command is executed, McASP module registers are accessible from "BAD"(after board connection) to initial values. And immediately I saw XSTAT has 0x10C, which means the clock failure happened.

    I don't know when you say "do you have the McASP module enabled and not in some standby state which would be in the power management section.", what else does that need to do the enable McASP module?

    Thanks,

    Philip

  • Philip,

    It looks like the McASP0 CFG peripheral registers are at 0x4803_c000 from the data sheet.

    0x481818540 looks like it is in the PRCM registers, which probably needs to be programmed to enable the McASP (not sure which bits), but it won’t turn on the McASP clock.  

    I also assume sysclk6 is programmed appropriately since this clocks the McASP.

    Regards

  • How should this sysclk6 to be programmed?

    Thanks,

    Philip