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.

Turning IVA2 off

Hi,

I'm trying to shut the IVA powerdomain off on OMAP3730 in order to reduce power consumption.

I'm using Linux 3.4.0. After the powerdomains and clockdomains setup in omap3_pm_init() (in arch/arm/mach-omap2/pm34xx.c, line 748), I perform these steps:

 

1. Set next powerstate to PWRDM_POWER_OFF

 

2. Start a software sleep transition on the powerdomain

 

3. Disable wakeup upon wakeup events

 

4. Putting the clockdomain to sleep

 

Code:

//...

                (void) clkdm_for_each(omap_pm_clkdms_setup, NULL);

//my code:

                {

                                struct powerdomain *iva2_pwrdm = pwrdm_lookup("iva2_pwrdm");

                                struct clockdomain *iva2_clkdm = clkdm_lookup("iva2_clkdm");

 

                                pwrdm_set_next_pwrst(iva2_pwrdm, PWRDM_POWER_OFF); //step 1

                                omap2_cm_write_mod_reg(1, OMAP3430_IVA_MOD, OMAP2_CM_CLKSTCTRL); //step 2

                                omap2_prm_write_mod_reg(0, OMAP3430_IVA_MOD, PM_WKDEP); //step 3

                                clkdm_sleep(iva2_clkdm); //step 4

                }

//end my code

                mpu_pwrdm = pwrdm_lookup("mpu_pwrdm");

//...

 

reading the status register returns 0x555:

root:~|0 # devmem 0x483060e4 32

0x00000555

 

This means that the IVA2 logic is on...

How can I turn the IVA2 completely off?

thankS! :)