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.

Omap3530 IDLE ENTRY

Other Parts Discussed in Thread: SYSCONFIG

Hi Everyone,

        The article OMAP35x Debug Steps for Idle Entry seems not completely work for me.

        The thing is I follow every step ,like IRQ Pending, only DPLL3 in locked, etc.

         Mine is Omap3530. Till now I' m still stuck in the CORE Domain IDLE Transition. After I finish WFI, 

the function return immediately. It turns out that MPU Domain got into retetion, but CORE Domain never did.

         I' m wondering if there is anything i miss. Could you give me some advice?

         Thanks in advanced

Best regards

        Zhaoshuai LI

  • Hi Zhaoshuai,

    If you have a JTAG access, can you dump registers in attached text file before WFI ? Please make sure MMU is turned off when you dump them. The sysconfig registers need to be dumped last as they require iclk and fclk to be enabled. 

    Here are registers and settings for turning on requried iclk and fclk. Please run them before you dump sysconfig registers.

    CM_ICLKEN1_CORE = 0xFFFFFFFF;
    CM_ICLKEN3_CORE = 0x00000004;
    CM_FCLKEN1_CORE = 0xFFFFFFFF;
    CM_FCLKEN3_CORE = 0x00000006;
    CM_ICLKEN_PER = 0x0003FFFF;
    CM_FCLKEN_PER = 0x0003FFFF;
    CM_CLKSTCTRL_PER = 0x00000002;
    CM_ICLKEN_WKUP = 0x000000FF;
    CM_FCLKEN_WKUP = 0x000000FF;
    CM_FCLKEN_DSS    = 0x00000001;
    CM_ICLKEN_DSS    = 0x00000001;
    CM_CLKSTCTRL_DSS = 0x00000002;

    Regards,

    Kazunobu Shin

  • Hi Kazunobu,

    The registers I dumped as follow :

    /* POWER STATE STATUS */
    PM_PWSTST_IVA2     : 0x483060E4       0x00000555
    PM_PWSTST_SGX      : 0x48306BE4       0x00000000
    PM_PWSTST_DSS      : 0x48306EE4       0x00000003
    PM_PWSTST_CAM      : 0x48306FE4       0x00000001
    PM_PWSTST_PER      : 0x483070E4       0x00000007
    PM_PWSTST_NEON     : 0x483073E4       0x00000003
    PM_PWSTST_USBHOST  : 0x483074E4       0x00000001

    /* WKDEP */
    CM_SLEEPDEP_SGX      : 0x48004B44         0x00000000
    CM_SLEEPDEP_DSS      : 0x48004E44         0x00000006
    CM_SLEEPDEP_CAM      : 0x48004F44         0x00000000
    CM_SLEEPDEP_PER      : 0x48005044         0x00000006
    CM_SLEEPDEP_USBHOST  : 0x48005444         0x00000000

    /*  IDLE STATUS */
    CM_IDLEST_IVA2     : 0x48004020       0x00000001
    CM_IDLEST_PLL_IVA2 : 0x48004024       0x00000000
    CM_IDLEST1_CORE    : 0x48004A20       0xffffffbd
    CM_IDLEST2_CORE    : 0x48004A24       0x0000001f
    CM_IDLEST3_CORE    : 0x48004A28       0x0000000d
    CM_IDLEST_SGX      : 0x48004B20       0x00000001
    CM_IDLEST_CKGEN    : 0x48004D20       0x00000001
    CM_IDLEST2_CKGEN   : 0x48004D24       0x00000000
    CM_IDLEST_DSS      : 0x48004E20       0x00000003
    CM_IDLEST_CAM      : 0x48004F20       0x00000001
    CM_IDLEST_PER      : 0x48005020       0x0003ffff
    CM_IDLEST_NEON     : 0x48005320       0x00000000
    CM_IDLEST_USBHOST  : 0x48005420       0x00000003

    /*  WAKE UP STATUS */
    PM_WKST1_CORE    : 0x48306AB0         0x00000000
    PM_WKST3_CORE    : 0x48306AB8         0x00000000
    PM_WKST_WKUP     : 0x48306CB0         0x00000000
    PM_WKST_PER      : 0x483070B0         0x00000000
    PM_WKST_USBHOST  : 0x483074B0         0x00000000

    /*  FCLK STATUS */
    CM_FCLKEN_IVA2     : 0x48004000         0x00000000
    CM_FCLKEN1_CORE    : 0x48004A00         0x00000000
    CM_FCLKEN3_CORE    : 0x48004A08         0x00000000
    CM_FCLKEN_SGX      : 0x48004B00         0x00000000
    CM_FCLKEN_DSS      : 0x48004E00         0x00000000
    CM_FCLKEN_CAM      : 0x48004F00         0x00000000
    CM_FCLKEN_PER      : 0x48005000         0x00000000
    CM_FCLKEN_USBHOST  : 0x48005400         0x00000000

    /*  ICLK STATUS */
    CM_ICLKEN1_CORE   : 0x48004A10          0x00000042
    CM_ICLKEN3_CORE   : 0x48004A18          0x00000000
    CM_ICLKEN_SGX     : 0x48004B10          0x00000000
    CM_ICLKEN_DSS     : 0x48004E10          0x00000000
    CM_ICLKEN_CAM     : 0x48004F10          0x00000000
    CM_ICLKEN_PER     : 0x48005010          0x00000000
    CM_ICLKEN_USBHOST : 0x48005410          0x00000000

    /*  AUTOIDLE STATUS */
    CM_AUTOIDLE_PLL_IVA2 : 0x48004034        0x00000001
    CM_AUTOIDLE_PLL_MPU  : 0x48004934        0x00000001   
    CM_AUTOIDLE1_CORE    : 0x48004A30        0x7ffffed9
    CM_AUTOIDLE3_CORE    : 0x48004A38        0x00000004
    CM_AUTOIDLE_PLL      : 0x48004D30        0x0000000d
    CM_AUTOIDLE2_PLL     : 0x48004D34        0x00000001
    CM_AUTOIDLE_DSS      : 0x48004E30        0x00000001
    CM_AUTOIDLE_CAM      : 0x48004F30        0x00000001
    CM_AUTOIDLE_PER      : 0x48005030        0x0003ffff
    CM_AUTOIDLE_USBHOST  : 0x48005430        0x00000001

    /*  CLKSTCTRL */
    CM_CLKSTCTRL_IVA2    : 0x48004048        0x00000003
    CM_CLKSTCTRL_MPU     : 0x48004948        0x00000003
    CM_CLKSTCTRL_CORE    : 0x48004A48        0x0000000f
    CM_CLKSTCTRL_SGX     : 0x48004B48        0x00000003
    CM_CLKSTCTRL_DSS     : 0x48004E48        0x00000003
    CM_CLKSTCTRL_CAM     : 0x48004F48        0x00000003
    CM_CLKSTCTRL_PER     : 0x48005048        0x00000003
    CM_CLKSTCTRL_EMU     : 0x48005148        0x00000003
    CM_CLKSTCTRL_NEON    : 0x48005348        0x00000003
    CM_CLKSTCTRL_USBHOST : 0x48005448        0x00000003

    /*  MISC */
    SDRC_POWER_REG                 : 0x6D000070     0x000000c1
    CONTROL_PADCONF_SAD2D_IDLEACK  : 0x48002254     0x01003318
    CONTROL_PADCONF_SAD2D_MSTDBY   : 0x48002250     0x01003318


    /*  SYSCONFIG */
    MAILBOX_SYSCONFIG  : 0x48094010         0x00000000
    CONTROL_SYSCONFIG  : 0x48002010         0x00000010
    CAM_MMU_SYSCONFIG  : 0x480BD410         0x0
    IVA2_MMU_SYSCONFIG : 0x5D000010
    DMA4_OCP_SYSCONFIG : 0x4805602C         0x00002011
    GPMC_SYSCONFIG     : 0x6E000010         0x00000011
    SMS_SYSCONFIG      : 0x6C000010         0x00000011
    SDRC_SYSCONFIG     : 0x6D000010         0x00000010
    ISP_SYSCONFIG      : 0x480BC004         0x1
    CBUFF_SYSCONFIG    : 0x480BC110         0x0
    CCP2_SYSCONFIG     : 0x480BC404         0x1
    CSI2_SYSCONFIG     : 0x480BC110         0x0
    IVLCD_SYSCONFIG    : 0x00080010
    IME_SYSCONFIG      : 0x000A0010
    ILF_SYSCONFIG      : 0x000A1010       
    DISPC_SYSCONFIG    : 0x48050410        0x00002015
    RFBI_SYSCONFIG     : 0x48050810        0x00000001
    DSI_SYSCONFIG      : 0x4804FC10        0x00000015
    WDT2_SYSCONFIG     : 0x48314040        0x00000000
    WDT3_SYSCONFIG     : 0x49030010        0x00000000
    REG_32K_SYSCONFIG  : 0x48320004        0x00000000
    MCSPI1_SYSCONFIG   : 0x48098010        0x00000015
    MCSPI2_SYSCONFIG   : 0x4809A010        0x00000015
    MCSPI3_SYSCONFIG   : 0x480B8010        0x00000015
    MCSPI4_SYSCONFIG   : 0x480BA010        0x00000015
    MCBSP1_SYSCONFIG   : 0x4807408C        0x0
    MCBSP5_SYSCONFIG   : 0x4809608C        0x0
    MCBSP2_SYSCONFIG   : 0x4902208C        0x0
    MCBSP3_SYSCONFIG   : 0x4902408C        0x0
    MCBSP4_SYSCONFIG   : 0x4902608C        0x0
    MMCHS1_SYSCONFIG   : 0x4809C010        0x5
    MMCHS3_SYSCONFIG   : 0x480AD010        0x15
    MMCHS2_SYSCONFIG   : 0x480B4010        0x15
    OTG_SYSCONFIG      : 0x480AB404        0x00000001
    USBTLL_SYSCONFIG   : 0x48062000       
    UHH_SYSCONFIG      : 0x48064010        0x00000001
    GPIO1_SYSCONFIG    : 0x48310010        0x00000015
    GPIO2_SYSCONFIG    : 0x49050010        0x15
    GPIO3_SYSCONFIG    : 0x49052010        0x15
    GPIO4_SYSCONFIG    : 0x49054010        0x15
    GPIO5_SYSCONFIG    : 0x49056010        0x15
    GPIO6_SYSCONFIG    : 0x49058010        0x15
    UART1_SYSCONFIG    : 0x4806A054        0x15
    UART2_SYSCONFIG    : 0x4806C054        0x15
    UART3_SYSCONFIG    : 0x49020054        0x15
    GPT1_SYSCONFIG     : 0x48318010        0x00000000
    GPT2_SYSCONFIG     : 0x49032010        0x0
    GPT3_SYSCONFIG     : 0x49034010        0x0
    GPT4_SYSCONFIG     : 0x49036010        0x0
    GPT5_SYSCONFIG     : 0x49038010        0x0
    GPT6_SYSCONFIG     : 0x4903A010        0x0
    GPT7_SYSCONFIG     : 0x4903C010        0x0
    GPT8_SYSCONFIG     : 0x4903E010        0x0
    GPT9_SYSCONFIG     : 0x49040010        0x0
    GPT10_SYSCONFIG    : 0x48086010        0x0
    GPT11_SYSCONFIG    : 0x48088010        0x0
    I2C3_SYSCONFIG     : 0x48060020        0x15
    I2C1_SYSCONFIG     : 0x48070020        0x15
    I2C2_SYSCONFIG     : 0x48072010        0x15
    RNG_SYSCONFIG      : 0x480A0048        0x0

     

    Some of the registers were failed to be dumped for I didn't work at it in CCS. Dose it matter ?  As I know, They belong to IVA Domain, USBHOST Domain OR CAM Domain, all of which have gone into Idle.

    Is there anything wrong?

    Best Regards

    Zhaoshuai Li

     

     

  • Hi Zhaoshuai,

    OTG_SYSCONFIG.SIDLEMODE is set to no-idle and OTG_SYSCONFIG.MIDLEMODE is set to no-standby. Can you change OTG_SYSCONFIG.SIDLEMODE to Force-idle and OTG_SYSCONFIG.MIDLEMODE to Smart-Standby ?

    OTG_SYSCONFIG      : 0x480AB404        0x00001008 -> 0x00002001

    Can you also change below register setting ?

    CM_CLKSTCTRL_CORE    : 0x48004A48        0x0000000f -> 0x0000003f

    The registers that weren't accessible are not required, please use attached updated list next time.

    Regards
    Kazunobu Shin

  • Hi Kazunobu,

    Did you manage to get to idle ?

    Thanks

    Ran