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.

dm648 vedio port module power problem?

Other Parts Discussed in Thread: TMS320DM647

hi,

 we are testing our dm648 board, but can not power on vedio port 3 by setting LPSC register. we debuged the function in pal_sys.c of psp driver, and check the procedure on page 59 of  sprueu6b(TMS320DM647/DM648 Subsystem User's Guide), but the function returned with an error code. function is listed below:

PAL_Result PAL_sysModuleClkCtrl(Uint32 moduleId,PAL_SysModuleClkControl clkCtrl)
{

#define TIMEOUT_COUNT   (10240u)
    PAL_Result        result   = PAL_SOK;
    Uint32            lpscNum  = moduleId;
    Uint16            state    = 0;
    volatile Uint32   count    = 0;


    if(clkCtrl == PAL_SYS_MODULE_CLK_ENABLE) /* Module clk enable in LPSC */
    {
        state = (0x0003u);
    }
    else /* Module clk disable in LPSC */
    {
        state = (0x0002u);
    }

    /* NEXT=state */
    pscRegs->MDCTL[lpscNum] = (pscRegs->MDCTL[lpscNum]&0xFFFFFFE0) | state;

    pscRegs->PTCMD = (0x1u);

    /*Wait for power state transition to finish*/
    count = TIMEOUT_COUNT;
    while( ((pscRegs->PTSTAT & (0x1u)) != 0) && (count>0))
    {
        count --;
    }

    if (0 == count) /* If timeout, then there is no such resource in LPSC */
    {
       result = PAL_SYS_ERROR_NO_RESOURCES;
    }
    else
    {
        /* Wait for MODSTAT = ENABLE/DISABLE from LPSC */
        count = TIMEOUT_COUNT;
        while( ((pscRegs->MDSTAT[lpscNum] & (0x1Fu)) != state) && (count>0))
        {
            count --;
        }

        if (0 == count) /* If timeout, the resource may not be functioning */
        {
           result = PAL_SYS_ERROR_NO_RESOURCES;
        }
    }

    return result;
}

the same program was working well on dm648 evm board, and the function returned successfully.

then we test all the module in LPSC, and fount some module can power on, while some can't.
module can power on:
LPSC NUMBER MODULE
0 EDMA3CC(EDMATPCC)
7 DDR2(EMIF3D)
8 UHPI
9 VLYNQ
10 GPIO
11 TIMER0
12 TIMER1
26 TIMER2
27 TIMER3
31 VICP(IMCOP)
33 CPU(GEM)
34 Ethernet

5 TSIP0
6 TSIP1
32 CHIP

module can't power on:
LPSC NUMBER MODULE
17 SPI
18 I2C
19 PCI
20 VP0
21 VP1
22 VP2
23 VP3
24 VP4
25 EMIFA(EMIF3B)
28 VIC
29 MCASP
30 UART

we don't know why all the module using bus can't power on, while the internal module can.

thank you for your help.