From de6e599f067b25c46cc0c8f74a22cc3b8aafbae8 Mon Sep 17 00:00:00 2001 From: "Prasad, Ram" Date: Thu, 30 Mar 2017 16:14:18 +0000 Subject: [PATCH] dspdce:Updated dsp_dce.cfg with Deh and PM modules DEH and Powermanagement modules are enabled to avoid dspdce crashing. Signed-off-by: Ramprasad N Signed-off-by: Karthik Ramanan --- build/config.bld | 4 ++-- platform/ti/dce/baseimage/dce_dsp.cfg | 29 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/build/config.bld b/build/config.bld index fb3d988..74815a5 100644 --- a/build/config.bld +++ b/build/config.bld @@ -29,7 +29,7 @@ for (x = 0; x < arguments.length; x++) * 9540_0000 ????_???? 280_0000 ( 40 MB) EXT_HEAP * 9F00_0000 9F00_0000 6_0000 ( 384 kB) TRACE_BUF * 9F06_0000 9F06_0000 1_0000 ( 64 kB) EXC_DATA - * 9F07_0000 9F07_0000 2_0000 ( 128 kB) PM_DATA (Power mgmt) + * 9F07_0000 9F07_0000 6_0000 ( 384 kB) PM_DATA (Power mgmt) */ var evmDRA7XX_ExtMemMapDsp1 = { EXT_CODE: { name: "EXT_CODE", base: 0x95000000, len: 0x200000, space: "code", access: "RWX" }, @@ -37,7 +37,7 @@ var evmDRA7XX_ExtMemMapDsp1 = { EXT_HEAP: { name: "EXT_HEAP", base: 0x95400000, len: 0x02800000, space: "data", access: "RW" }, TRACE_BUF: { name: "TRACE_BUF", base: 0x9F000000, len: 0x00060000, space: "data", access: "RW" }, EXC_DATA: { name: "EXC_DATA", base: 0x9F060000, len: 0x00010000, space: "data", access: "RW" }, - PM_DATA: { name: "PM_DATA", base: 0x9F070000, len: 0x00020000, space: "data", access: "RWX" } + PM_DATA: { name: "PM_DATA", base: 0x9F070000, len: 0x00060000, space: "data", access: "RWX" } }; Build.platformTable["ti.platforms.evmDRA7XX:dsp1"] = { diff --git a/platform/ti/dce/baseimage/dce_dsp.cfg b/platform/ti/dce/baseimage/dce_dsp.cfg index 9669492..77b5762 100644 --- a/platform/ti/dce/baseimage/dce_dsp.cfg +++ b/platform/ti/dce/baseimage/dce_dsp.cfg @@ -228,6 +228,35 @@ BIOS.smpEnabled = false; var Timer = xdc.useModule('ti.sysbios.timers.dmtimer.Timer'); + + +/* Modules used in Power Management */ +xdc.loadPackage('ti.pm'); +var Power = xdc.useModule('ti.sysbios.family.c66.vayu.Power'); +Power.loadSegment = "PM_DATA"; + +/* Idle functions - PM functions should be last */ +var Idle = xdc.useModule('ti.sysbios.knl.Idle'); + +/* DEH Exception Handling */ +var Deh = xdc.useModule('ti.deh.Deh'); + +/* Watchdog detection functions in each core */ +/* Must be placed before pwr mgmt */ +Idle.addFunc('&ti_deh_Deh_idleBegin'); + +/* Idle Power Management functions for each core */ +Idle.addFunc('&IpcPower_idle'); + +/* + * Workaround for silicon bug - enable if power management is desired + * + * IpcPower_callIdle must be placed in L2SRAM and not external memory + * to avoid CPU hang when going into idle + */ +Program.sectMap[".text:IpcPower_callIdle"] = "L2SRAM"; + + /* BIOS assumes that default frequency is 38.4 MHz. On OMAP5, SYS_CLK is used to source Hence it is clocked at 19.2 MHz. -- 2.39.2