hi. all.
I have issue.
PWMSSTBClkEnable Function in the Starterware 2.00.00.07\platform\evmAM335x\pwmss.c
original source code is below
void PWMSSTBClkEnable(unsigned int instance) {
switch(instance)
{
case 0: HWREG(SOC_CONTROL_REGS + CONTROL_PWMSS_CTRL)= CONTROL_PWMSS_CTRL_PWMSS0_TBCLKEN; break;
case 1: HWREG(SOC_CONTROL_REGS + CONTROL_PWMSS_CTRL)= CONTROL_PWMSS_CTRL_PWMMS1_TBCLKEN; break;
case 2: HWREG(SOC_CONTROL_REGS + CONTROL_PWMSS_CTRL)= CONTROL_PWMSS_CTRL_PWMSS2_TBCLKEN; break;
default: break;
}
}
But this function generate problem when pwmss are used multiple
example
PWMSSTBClkEnable(0); //Enable block0
PWMSSTBClkEnable(1); // Disable block0 , Enable block1
PWMSSTBClkEnable(2); //Disable block0,block1 Enable block2
As a result, PWMSS2 blocks are living alone
I suggest original code to be fixed
case 0: HWREG(SOC_CONTROL_REGS + CONTROL_PWMSS_CTRL) |= CONTROL_PWMSS_CTRL_PWMSS0_TBCLKEN; break;
case 1: HWREG(SOC_CONTROL_REGS + CONTROL_PWMSS_CTRL) |= CONTROL_PWMSS_CTRL_PWMMS1_TBCLKEN; break;
case 2: HWREG(SOC_CONTROL_REGS + CONTROL_PWMSS_CTRL) |= CONTROL_PWMSS_CTRL_PWMSS2_TBCLKEN; break;