📄 commonchip.cfg
字号:
}
proc ClockGenerator2Registers addr=$1 chiptype=$2{
## 5508
if (clsymbol ST_reg_debug) { write "ClockGenerator2Registers @ " -x (addr) }
register CKG_PLLcontroller (addr+0x1cf) -group ClockGen -char
register CKG_CCAUD (addr+0x1d0) -group ClockGen -char
register CKG_CCDIV (addr+0x1d1) -group ClockGen -char
register CKG_CCMCK (addr+0x1d4) -group ClockGen -char
register CKG_DIVMCK (addr+0x1d5) -group ClockGen -char
register CKG_CCDENC (addr+0x1dc) -group ClockGen -char
register CKG_CCST20 (addr+0x1dd) -group ClockGen -char
register CKG_DIVST20 (addr+0x1de) -group ClockGen -char
register CKG_PREDIVPLL (addr+0x1df) -group ClockGen -char
register CKG_FBKDIVPLL (addr+0x1e0) -group ClockGen -char
register CKG_POSTDIVPLL (addr+0x1e1) -group ClockGen -char
register CKG_PLLSETUP (addr+0x1e2) -group ClockGen -char
register CKG_IDQPAD_C (addr+0x1e3) -group ClockGen -char
if(chiptype == "5518") {
register CKG_LPC_DIV (addr+0x1CE) -group ClockGen -char
register CKG_CCAUXDENC (addr+0x1D2) -group ClockGen -char
register CKG_DIVAUXDENC (addr+0x1D3) -group ClockGen -char
register CKG_SFREQSMC_SDIV (addr+0x1D6) -group ClockGen -char
register CKG_SFREQSMC_PE0 (addr+0x1D7) -group ClockGen -char
register CKG_SFREQSMC_PE1 (addr+0x1D8) -group ClockGen -char
register CKG_SFREQSMC_MD (addr+0x1D9) -group ClockGen -char
register CKG_SMCcontroller (addr+0x1DA) -group ClockGen -char
register CKG_SFREQPMC_SDIV (addr+0x1E4) -group ClockGen -char
register CKG_SFREQPMC_PE0 (addr+0x1E5) -group ClockGen -char
register CKG_SFREQPMC_PE1 (addr+0x1E6) -group ClockGen -char
register CKG_SFREQPMC_MD (addr+0x1E7) -group ClockGen -char
register CKG_PCM_CT (addr+0x1E8) -group ClockGen -char
register CKG_SFREQAUX_SDIV (addr+0x1E9) -group ClockGen -char
register CKG_SFREQAUX_PE0 (addr+0x1EA) -group ClockGen -char
register CKG_SFREQAUX_PE1 (addr+0x1EB) -group ClockGen -char
register CKG_SFREQAUX_MD (addr+0x1EC) -group ClockGen -char
register CKG_SFAUXcontroller (addr+0x1ED) -group ClockGen -char
}
}
proc ConfigurationRegisters addr=$1 dvd=$2 {
if (clsymbol ST_reg_debug) { write "ConfigurationRegisters @ " -x (addr) " dvd=" (dvd)}
register CFG_MCF (addr) -group Configuration -char
register CFG_CCF (addr+0x1) -group Configuration -char
register CFG_DRC (addr+0x38) -group Configuration -char
register CFG_GCF (addr+0x3a) -group Configuration -char
if (dvd == false) {
register CFG_CDR (addr+0x44) -group Configuration -char -writeonly
}
}
proc DCU2Registers addr=$1 {
if (clsymbol ST_reg_debug) { write "DCU2Registers @ " -x (addr)}
register Status (addr) -group DCU -readonly
register Control (addr+0x4) -group DCU
register Signalling (addr+0x8) -group DCU
register TriggerInProperties (addr+0xc) -group DCU
register Breakpoint1 (addr+0x20) -group DCU
register Breakpoint2 (addr+0x24) -group DCU
register Breakpoint12Properties (addr+0x2c) -group DCU
register Breakpoint3 (addr+0x40) -group DCU
register Breakpoint4 (addr+0x44) -group DCU
register Breakpoint34Properties (addr+0x4c) -group DCU
register WatchpointLower (addr+0x60) -group DCU
register WatchpointUpper (addr+0x64) -group DCU
register WatchpointAddress (addr+0x68) -group DCU
register WatchpointProperties (addr+0x6c) -group DCU
register JumptraceIptr (addr+0x80) -group DCU -readonly
register JumptraceFrom (addr+0x84) -group DCU -readonly
register JumptraceAddress (addr+0x88) -group DCU
register JumptraceProperties (addr+0x8c) -group DCU
}
proc DigitalEncoder1Registers addr=$1 i=0 {
## For earlier DENCs, eg STi5500 and STi5505
if (clsymbol ST_reg_debug) { write "DigitalEncoder1Registers @ " -x (addr)}
for (i=0;i<7;i++) {
register ("configuration"+(mkstr(i))) (addr+i) -group DENC -char
}
for (i=1;i<3;i++) {
register ("phase_dfs" +(mkstr(i))) (addr+0xc+i) -group DENC -char
}
for (i=1;i<4;i++) {
register ("increment_dfs"+(mkstr(i))) (addr+0x9+i) -group DENC -char
register ("line_reg" +(mkstr(i))) (addr+0x14+i) -group DENC -char
register ("cgms_bit" +(mkstr(i))) (addr+0x1e+i) -group DENC -char
}
for (i=1;i<5;i++) {
register ("ttx_block"+(mkstr(i))) (addr+0x21+i) -group DENC -char
}
register dencstatus (addr+0x9) -group DENC -char -readonly
register chipid (addr+0x11) -group DENC -char -readonly
register revid (addr+0x12) -group DENC -char -readonly
register ttx_block_map (addr+0x26) -group DENC -char
register cccf11 (addr+0x27) -group DENC -char
register cccf12 (addr+0x28) -group DENC -char
register cccf21 (addr+0x29) -group DENC -char
register cccf22 (addr+0x2a) -group DENC -char
register cclif1 (addr+0x2b) -group DENC -char
register cclif2 (addr+0x2c) -group DENC -char
}
proc DigitalEncoder2Registers addr=$1 chiptype=$2 i=0 {
## For later DENCs, eg STi5508/18 , STi5510&12
if (clsymbol ST_reg_debug) { write "DigitalEncoder2Registers @ " -x (addr) " chiptype=" (chiptype)}
for (i=0;i<9;i++) {
register ("DEN_CFG"+(mkstr(i))) (addr+i) -group DENC -char
}
for (i=1;i<4;i++) {
register ("DEN_IDFS"+(mkstr(i))) (addr+0x09+i) -group DENC -char
register ("DEN_LJMP"+(mkstr(i))) (addr+0x14+i) -group DENC -char
register ("DEN_CGMS"+(mkstr(i))) (addr+0x1E+i) -group DENC -char
}
register DEN_STA (addr+0x09) -group DENC -char -readonly
register DEN_PDFS1 (addr+0x0D) -group DENC -char
register DEN_PDFS2 (addr+0x0E) -group DENC -char
register DEN_WSS1 (addr+0x0F) -group DENC -char
register DEN_WSS2 (addr+0x10) -group DENC -char
register DEN_DAC13 (addr+0x11) -group DENC -char
register DEN_DAC45 (addr+0x12) -group DENC -char
register DEN_DAC6C (addr+0x13) -group DENC -char
register DEN_CID (addr+0x18) -group DENC -char -readonly
for (i=1;i<7;i++) {
register ("DEN_VPS"+(mkstr(i))) (addr+0x18+i) -group DENC -char
}
for (i=1;i<5;i++) {
register ("DEN_TTX"+(mkstr(i))) (addr+0x21+i) -group DENC -char
}
register DEN_TTXM (addr+0x26) -group DENC -char
register DEN_CCF11 (addr+0x27) -group DENC -char
register DEN_CCF12 (addr+0x28) -group DENC -char
register DEN_CCF21 (addr+0x29) -group DENC -char
register DEN_CCF22 (addr+0x2A) -group DENC -char
register DEN_CLF1 (addr+0x2B) -group DENC -char
register DEN_CLF2 (addr+0x2C) -group DENC -char
if (chiptype != "5510") {
register DEN_REG_64 (addr+0x40) -group DENC -char
register DEN_REG_65 (addr+0x41) -group DENC -char
register DEN_REG_69 (addr+0x45) -group DENC -char
register DEN_REG_70 (addr+0x46) -group DENC -char
register DEN_REG_71 (addr+0x47) -group DENC -char
}
}
proc EMIRegisters addr=$1 pads=$2 dram=$3 chiptype=$4 type="EMI" b=0 i=0 offset=0 {
if ($# >4) { type=$5 }
if (clsymbol ST_reg_debug) { write "EMIRegisters @ " -x (addr) " pads=" (pads) " dram=" (dram) " chiptype=" (chiptype) " type=" (type)}
offset=0
for (b=0;b<4;b++) {
for (i=0;i<4;i++) {
register ((type)+"ConfigData"+(mkstr(i))+"Bank"+(mkstr(b))) (addr+offset) -group (type)
offset += 4
}
}
for (b=0;b<4;b++) {
register ((type)+"ConfigLockBank"+(mkstr(b))) (addr+offset) -group (type) -writeonly
offset += 4
}
register ((type)+"ConfigStatus") (addr+0x50) -group (type) -readonly
if (dram == true) {
register ((type)+"DRAMInitialize") (addr+0x60) -group (type) -writeonly
}
if (pads == true) {
register ((type)+"ConfigPadLogic") (addr+0x70) -group (type)
}
if ((chiptype == "5512" ) || (chiptype == "5508") || (chiptype == "5518") || (chiptype == "dc1")) {
register ((type)+"SDRAMModeReg0") (addr+0x58) -group (type) -char -writeonly
register ((type)+"SDRAMModeReg1") (addr+0x5C) -group (type) -char -writeonly
register ((type)+"SDRAMNOPGen") (addr+0x64) -group (type) -char -writeonly
}
}
proc EMI4Registers addr=$1 mpx=$2 sdram=$3 chiptype=$4 type="EMI4" b=0 i=0 offset=0 {
if ($# >4) { type=$5 }
register ((type)+"VCR") (addr) -group (type) -readonly
register ((type)+"STATUSCFG") (addr+0x10) -group (type) -readonly
register ((type)+"STATUSLOCK") (addr+0x18) -group (type) -readonly
register ((type)+"LOCK") (addr+0x20) -group (type) -writeonly
register ((type)+"GENCFG") (addr+0x28) -group (type)
if (sdram == true) {
register ((type)+"SDRAMNOPGEN") (addr+0x30) -group (type) -writeonly
register ((type)+"SDRAMODEREG") (addr+0x38) -group (type) -writeonly
register ((type)+"SDRAMINIT") (addr+0x40) -group (type) -writeonly
register ((type)+"REFRESHINT") (addr+0x48) -group (type)
}
register ((type)+"FLASHCLKSEL") (addr+0x50) -group (type)
if (sdram == true) {
register ((type)+"SDRAMCLKSEL") (addr+0x58) -group (type)
}
if (mpx == true) {
register ((type)+"MPXCLKSEL") (addr+0x60) -group (type)
}
register ((type)+"CLKENABLE") (addr+0x68) -group (type) -writeonly
if (clsymbol ST_reg_debug) { write "EMI4Registers @ " -x (addr) " mpx=" (mpx) " sdram=" (sdram) " chiptype=" (chiptype) " type=" (type)}
offset=0
addr += 0x100
for (b=0;b<6;b++) {
for (i=0;i<4;i++) {
register ((type)+"ConfigData"+(mkstr(i))+"Bank"+(mkstr(b))) (addr+offset) -group (type)
offset += 0x8
}
offset += 0x20
}
}
proc ExceptionVectorTableRegisters addr=$1 numint=$2 i=0 {
if (clsymbol ST_reg_debug) { write "ExceptionVectorTableRegisters @ " -x (addr) }
register TimesliceTrap (addr-0x01c) -group ExceptionVectorTable
register StopTrap (addr-0x018) -group ExceptionVectorTable
register RunTrap (addr-0x014) -group ExceptionVectorTable
register ScheduleExceptionTrap (addr-0x010) -group ExceptionVectorTable
register IdleTrap (addr-0x00c) -group ExceptionVectorTable
register IllegalIntrTrap (addr-0x008) -group ExceptionVectorTable
register BreakpointTrap (addr-0x004) -group ExceptionVectorTable
for (i=0; i<numint; i++) {
register ("Interrupt"+(mkstr(i))+"Trap") (addr+ +(4*i)) -group ExceptionVectorTable
}
}
proc IEEE1284ParallelPortRegisters addr=$1 {
if (clsymbol ST_reg_debug) { write "IEEE1284ParallelPortRegisters @ " -x (addr) }
register 1284ModeEnable (addr) -group IEEE1284ParallelPort -writeonly
register 1284PulseWidth (addr+0x4) -group IEEE1284ParallelPort -writeonly
register 1284Control (addr+0x8) -group IEEE1284ParallelPort -writeonly
register 1284Status (addr+0xc) -group IEEE1284ParallelPort -readonly
register 1284PinIn (addr+0x10) -group IEEE1284ParallelPort -readonly
register 1284PinInEnable (addr+0x14) -group IEEE1284ParallelPort
register 1284PinInValue (addr+0x18) -group IEEE1284ParallelPort
register 1284PinOut (addr+0x1c) -group IEEE1284ParallelPort
## don't touch DataIn,DataOut
## register 1284DataIn (addr+0x20) -group IEEE1284ParallelPort -readonly
## register 1284DataOut (addr+0x20) -group IEEE1284ParallelPort -writeonly
register 1284Checksum (addr+0x28) -group IEEE1284ParallelPort
register 1284PacketSize (addr+0x2c) -group IEEE1284ParallelPort -writeonly
register 1284DmaToken (addr+0x30) -group IEEE1284ParallelPort
register 1284DmaAddress (addr+0x40) -group IEEE1284ParallelPort -writeonly
register 1284DmaCount (addr+0x44) -group IEEE1284ParallelPort
register 1284DmaControl (addr+0x48) -group IEEE1284ParallelPort
register 1284IntEnable (addr+0x4c) -group IEEE1284ParallelPort
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -