12.5ARMControlofDSPBoot,Clock,andReset
12.5.1DSPBoot
ARMControlofDSPBoot,Clock,andReset
www.ti.com
Assystemmaster,theARMcancontrolallofthefollowingfunctions:
•BoottheDSP
•Turntheclockon/off
•ResettheDSP
Toinitiatetheseoperations,firmwareontheARMmustcoordinatewiththeDSPandusethepowerand
sleepcontroller(PSC)module.Thissectionprovidesspecificdetailsonhowtoinitiatetheseoperations.
FormoreinformationonthePSCandsystemcontrolmodule,seeChapter6andChapter9.
Note:TheDM646xDMSoChasonlyonepowerdomain(AlwaysOn);therefore,theARMhasno
controloftheDSPpoweron/off.
TheDSPcanbootineitheroftwomodes:ARMbootsDSPmodeorDSPself-bootmode.
•IntheARMbootsDSPmode,theARMisresponsibleformanagingtheDSPbootafterpower-on/reset.
•IntheDSPself-bootmode,theDSPbootswithoutARMinterventionimmediatelyuponpower-on/reset.
ThebootmodeisdeterminedbysamplingtheDSPbootsource(DSPBOOT)pinatpower-on/reset
(Table12-2).SeeChapter10andChapter11formoreinformationonbootandresetmodes.Thissection
describestheproceduretoboottheDSPwiththeARM,wheninARMbootsDSPmode.
Table12-2.DSPBootConfiguration
DeviceConfigurationFunctionSampledPinDefaultSetting
DSPboot0=ARMbootsDSPDSPBOOTARMbootsDSP
1=DSPself-boots
ToboottheDSP,theARMmustspecifyabootaddressintheDSPbootaddressregister
(DSPBOOTADDR)intheSystemModuleandensurethattheDSPprogramcodeisloadedproperlyinto
memory.WhentheARMreleasestheDSPfromreset,theDSPimmediatelybeginscodeexecutionfrom
thebootaddressprogrammedinDSPBOOTADDR.ToboottheDSP:
1.PuttheDSPmoduleintheenablestate.PriortobeginningtheDSPbootsequence,theDSPmodule
mustbeintheenablestate.SeeSection12.5.2forinformationonhowtoexecuteDSPmoduleclock
on.
2.CleartheLRSTbitinthemodulecontrol1register(MDCTL1)inthePSCto0.ThisassertstheDSP
localreset.Bydefault,afterpower-onresetorhardreset,thevalueoftheLRSTbitinMDCTL1is
clearedto0.
3.SettheDSPbootaddressinDSPBOOTADDR.Bydefault,afterpower-onorhardreset,thevaluein
DSPBOOTADDRis42200000h,whichmapstotheEMIFA.TheARMsoftwarecanspecifyaboot
addressthatmapstoL1PinternalDSPmemory,EMIFA,orDDR2memorycontroller.TheDSPcan
executeprograminstructionsfromanyofthesememories.
4.EnsurethattheDSPprogramcodeisloaded/storedwitharesetvectorattheDSPbootaddress
specifiedinthepreviousstep.
5.SettheLRSTbitinMDCTL1to1.ThisdeassertstheDSPlocalreset.Afterresetisdeasserted,the
DSPimmediatelybeginscodeexecutionfromthebootaddressprogrammedinDSPBOOTADDR.
128ARM-DSPIntegrationSPRUEP9A–May2008
SubmitDocumentationFeedback