Hi,
We have a product based on DM8148 and trying to turn off DSP power at runtime to save power consumption.
We use EZSDK 5_05_02_00, syslink_2_20_02_20, but PSP is updated to linux-04.04.00.02.
I followed the instructions in this page: https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/256582#pi317334=2
and patched Dm8168DspPwr.c, but it isn't working (PM_ACTIVE_PWRSTST stays at 0x37).
I must be missing something. Is patching Dm8168DspPwr.c enough or do I need to do anything else?
Thanks,
tamo2
---------------------- here is the log -------------------------------
sla3000 login: root
root@sla3000:~# cd /usr/share/ti/rpe/
root@sla3000:/usr/share/ti/rpe# firmware_loader 0 dm81xx_c6xdsp_debug.xe674 start
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Process******* DSP_IDLE_CFG : [5:4] STBYMODE = 0x2 *******
or Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===
<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3
<Location of Firmware> firmware binary file
<start|stop> to start/stop the firmware
===Optional arguments===
-mmap input memory map bin file name
-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3
FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
Firmware Loader debugging not configured
Default FL_DEBUG: warning
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1
*** ElfLoader_load: Failed to write args! (ensure .args section is big enough)
Error [0x0] at Line no: 1961 in file /home/slroot/ti-ezsdk_dm814x-evm_5_05_02_00/component-sources/syslink_2_20_02_20/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/loaders/Elf/ElfLoader.c
FIRMWARE: 0 start Successful
root@sla3000:/usr/share/ti/rpe# firmware_loader 0 dm81xx_c6xdsp_debug.xe674 stop
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===
<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3
<Location of Firmware> firmware binary file
<start|stop> to start/stop the firmware
===Optional arguments=******* DSP_IDLE_CFG: [5:4] STBYMODE = 0x0 *******
==
-mmap input memory map bin file name
-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3
FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
Firmware Loader debugging not configured
Default FL_DEBUG: warning
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1
FIRMWARE: 0 stop Successful
root@sla3000:/usr/share/ti/rpe# devmem2 0x4814061C
/dev/mem opened.
Memory mapped at address 0x40241000.
Read at address 0x4814061C (0x4024161c): 0x00000008
root@sla3000:/usr/share/ti/rpe# devmem2 0x48180A10 w 0x0
/dev/mem opened.
Memory mapped at address 0x40225000.
Read at address 0x48180A10 (0x40225a10): 0x00000003
Write at address 0x48180A10 (0x40225a10): 0x00000000, readback 0x00000000
root@sla3000:/usr/share/ti/rpe# devmem2 0x48180A04
/dev/mem opened.
Memory mapped at address 0x40115000.
Read at address 0x48180A04 (0x40115a04): 0x00000037
root@sla3000:/usr/share/ti/rpe#