📄 commonchip.cfg
字号:
for (i=1;i<4;i++) {
register ("DMA"+(mkstr(i))+"Write") (addr+0x20+(i*4)) -group PTIDMA -writeonly
register ("DMA"+(mkstr(i))+"Read") (addr+0x30+(i*4)) -group PTIDMA
register ("DMA"+(mkstr(i))+"Burst") (addr+0x40+(i*4)) -group PTIDMA -writeonly
register ("DMA"+(mkstr(i))+"Holdoff") (addr+0x50+(i*4)) -group PTIDMA -writeonly
}
register DMA0Write (addr+0x20) -group PTIDMA
register DMA0Read (addr+0x30) -group PTIDMA -writeonly
register DMA0Status (addr+0x40) -group PTIDMA
register DMAEnable (addr+0x50) -group PTIDMA -writeonly
register DMACDAddr (addr+0x60) -group PTIDMA -writeonly
}
proc PTISectionFilterRegisters addr=$1 section=0 {
if (clsymbol ST_reg_debug) { write "PTISectionFilterRegisters @ " -x (addr) }
for (section=0; section<32; section++) {
register ("SFFilterDataLS"+(mkstr(section))) (addr+(section*16)) -group PTISF
register ("SFFilterMaskLS"+(mkstr(section))) (addr+(section*16)+4) -group PTISF
register ("SFFilterDataMS"+(mkstr(section))) (addr+(section*16)+8) -group PTISF
register ("SFFilterMaskMS"+(mkstr(section))) (addr+(section*16)+12) -group PTISF
}
}
proc PTIInputInterfaceRegisters addr=$1 {
if (clsymbol ST_reg_debug) { write "PTIInputInterfaceRegisters @ " -x (addr) }
register IIFFifoCount (addr) -group PTIIIF -readonly
register IIFAltFifoCount (addr+0x4) -group PTIIIF -readonly
register IIFFifoEnable (addr+0x8) -group PTIIIF
register IIFAltLatency (addr+0x10) -group PTIIIF -writeonly
register IIFSyncLock (addr+0x14) -group PTIIIF -writeonly
register IIFSyncDrop (addr+0x18) -group PTIIIF -writeonly
}
proc RTCRegisters addr=$1 chiptype=$2 {
if (clsymbol ST_reg_debug) { write "RTCRegisters @ " -x (addr) }
register ClockMode (addr+0x000) -group RTC
register LowPowerConfig (addr+0x004) -group RTC
register RTC_LSB (addr+0x010) -group RTC
register RTC_MSB (addr+0x014) -group RTC
register Alarm (addr+0x018) -group RTC
register AlarmInterrupt (addr+0x01c) -group RTC
}
proc TransportControllerRegisters addr=$1 {
if (clsymbol ST_reg_debug) { write "TransportControllerRegisters @ " -x (addr) }
register A (addr) -group PTITC
register B (addr+0x4) -group PTITC
register C (addr+0x8) -group PTITC
register D (addr+0xc) -group PTITC
register P (addr+0x10) -group PTITC
register Q (addr+0x14) -group PTITC
register I (addr+0x18) -group PTITC
register O (addr+0x1c) -group PTITC
register IPTR (addr+0x20) -group PTITC
}
proc PTI addr=$1 {
if (clsymbol ST_reg_debug) { write "PTI @ " -x (addr) }
PTIRegisters (addr)
PTIDMARegisters (addr+0x1000)
PTIInputInterfaceRegisters (addr+0x2000)
PTISectionFilterRegisters (addr+0x4000)
TransportControllerRegisters (addr+0x6000)
}
proc PWMControllerRegisters addr=$1 i=0 {
if (clsymbol ST_reg_debug) { write "PWMControllerRegisters @ " -x (addr) }
for (i=0;i<4;i++) {
register ("PWM"+(mkstr(i))+"Val") (addr +(i*4)) -group PWM
register ("PWM"+(mkstr(i))+"CaptureVal") (addr+0x10+(i*4)) -group PWM -readonly
register ("PWM"+(mkstr(i))+"CompareVal") (addr+0x20+(i*4)) -group PWM
register ("PWM"+(mkstr(i))+"CaptureEdge") (addr+0x30+(i*4)) -group PWM
register ("PWM"+(mkstr(i))+"CompareOutVal") (addr+0x40+(i*4)) -group PWM
}
register PWMControl (addr+0x50) -group PWM
register PWMIntEnable (addr+0x54) -group PWM
register PWMIntStatus (addr+0x58) -group PWM -readonly
register PWMIntAck (addr+0x5C) -group PWM -writeonly
register PWMCount (addr+0x60) -group PWM
register PWMCaptureCount (addr+0x64) -group PWM
}
proc SDRAM1DBlockMoveRegisters addr=$1 {
if (clsymbol ST_reg_debug) { write "SDRAM1DBlockMoveRegisters @ " -x (addr) }
register USD_BMS (addr+0x9) -group SDRAMBlockMove -p Serial2Register
register USD_BRP (addr+0xa) -group SDRAMBlockMove -p Serial3Register
register USD_BWP (addr+0xb) -group SDRAMBlockMove -p Serial3Register
}
proc SDRAM1DBlockMove2Registers addr=$1 {
## 5508
if (clsymbol ST_reg_debug) { write "SDRAM1DBlockMove2Registers @ " -x (addr) }
register USD_BMS (addr+0x9) -group SDRAMBlockMove -p Serial2Register
register USD_BRP (addr+0x88) -group SDRAMBlockMove -p Serial3Register
register USD_BWP (addr+0x8c) -group SDRAMBlockMove -p Serial3Register
register USD_BSK (addr+0xa6) -group SDRAMBlockMove
}
proc SmartCardInterfaceRegisters addr=$1 num=$2 {
if (clsymbol ST_reg_debug) { write "SmartCardInterfaceRegisters @ " -x (addr) " num=" (num)}
register ("Sc"+(mkstr(num))+"ClkVal") (addr) -group ("SmartCardInterface"+(mkstr(num))) -writeonly
register ("Sc"+(mkstr(num))+"ClkCon") (addr+0x4) -group ("SmartCardInterface"+(mkstr(num))) -writeonly
}
proc SubPictureDecoderRegisters addr=$1 chiptype=$2 {
if (clsymbol ST_reg_debug) { write "SubPictureDecoderRegisters @ " -x (addr) " chiptype=" (chiptype)}
register SPD_CTL1 (addr) -group SubPicture -char
register SPD_CTL2 (addr+0x2) -group SubPicture -char
register SPD_LUT (addr+0x3) -group SubPicture -char -writeonly
register SPD_XD0 (addr+0x4) -group SubPicture -short -p BigEndian2Register
register SPD_YD0 (addr+0x6) -group SubPicture -short -p BigEndian2Register
register SPD_HLSX (addr+0xc) -group SubPicture -short -p BigEndian2Register
register SPD_HLSY (addr+0xe) -group SubPicture -short -p BigEndian2Register
register SPD_HLEX (addr+0x10) -group SubPicture -short -p BigEndian2Register
register SPD_HLEY (addr+0x12) -group SubPicture -short -p BigEndian2Register
register SPD_SXD0 (addr+0x24) -group SubPicture -short -p BigEndian2Register
register SPD_SYD0 (addr+0x26) -group SubPicture -short -p BigEndian2Register
register SPD_SXD1 (addr+0x28) -group SubPicture -short -p BigEndian2Register
register SPD_SYD1 (addr+0x2a) -group SubPicture -short -p BigEndian2Register
if (chiptype == "5510" || chiptype == "5508" || chiptype == "5518") {
register SPD_SPR (addr+0x1) -group SubPicture -char
register SPD_HCOL1 (addr+0x14) -group SubPicture -char
register SPD_HCOL2 (addr+0x15) -group SubPicture -char
register SPD_HCN1 (addr+0x16) -group SubPicture -char
register SPD_HCN2 (addr+0x17) -group SubPicture -char
}
if (chiptype == "5500" || chiptype == "5505") {
register SPD_XD1 (addr+0x8) -group SubPicture -short -p BigEndian2Register
register SPD_YD1 (addr+0xa) -group SubPicture -short -p BigEndian2Register
register SPD_HLRCO (addr+0x14) -group SubPicture -short
register SPD_HLRC (addr+0x16) -group SubPicture -short
register SDP_SPRead (addr+0x4e) -group SubPicture -char -p Serial3Register
register SPD_SPWrite (addr+0x4f) -group SubPicture -char -p Serial3Register
register SPD_SPB (addr+0x50) -group SubPicture -short -p BigEndian2Register
register SPD_SPE (addr+0x52) -group SubPicture -short -p BigEndian2Register
}
}
proc SynchronousSerialController1Registers addr=$1 {
if (clsymbol ST_reg_debug) { write "SynchronousSerialController1Registers @ " -x (addr) }
## For earlier SSCs, eg STi5500 and STi5505
register SSCBaudRate (addr) -group SSC
## don't touch Tx,Rx buffer
register SSCControl (addr+0xc) -group SSC
register SSCIntEnable (addr+0x10) -group SSC
register SSCStatus (addr+0x14) -group SSC -readonly
}
proc SynchronousSerialController2Registers addr=$1 num=$2 {
if (clsymbol ST_reg_debug) { write "SynchronousSerialController2Registers @ " -x (addr) " num=" (num) }
## For later SSCs, eg ST20TP3 and STi5510, 5508 and 5518
register ("SSC"+(mkstr(num))+"BRG") (addr) -group ("SSC"+(mkstr(num)))
## don't touch Tx,Rx buffer
register ("SSC"+(mkstr(num))+"Con") (addr+0xc) -group ("SSC"+(mkstr(num)))
register ("SSC"+(mkstr(num))+"IEn") (addr+0x10) -group ("SSC"+(mkstr(num)))
register ("SSC"+(mkstr(num))+"Stat") (addr+0x14) -group ("SSC"+(mkstr(num))) -readonly
register ("SSC"+(mkstr(num))+"I2C") (addr+0x18) -group ("SSC"+(mkstr(num)))
register ("SSC"+(mkstr(num))+"SlAd") (addr+0x1c) -group ("SSC"+(mkstr(num))) -writeonly
}
proc TeletextInterfaceRegisters addr=$1 input=$2 chiptype=$3 {
if (clsymbol ST_reg_debug) { write "TeletextInterfaceRegisters @ " -x (addr) " input=" (input) " chiptype=" (chiptype) }
register TtxtDmaAddress (addr) -group TeletextInterface
register TtxtDmaCount (addr+0x4) -group TeletextInterface
register TtxtOutDelay (addr+0x8) -group TeletextInterface
if (input==true) {
register TxtInStartLine (addr+0xc) -group TeletextInterface
register TxtInCbDelay (addr+0x10) -group TeletextInterface
}
if (chiptype != "5518") {
register TtxtMode (addr+0x14) -group TeletextInterface
}
register TtxtIntStatus (addr+0x18) -group TeletextInterface -readonly
register TtxtIntEnable (addr+0x1C) -group TeletextInterface
register TtxtAckOddEven (addr+0x20) -group TeletextInterface -writeonly
register TtxtAbort (addr+0x24) -group TeletextInterface -writeonly
}
proc VideoDecoderRegisters addr=$1 chiptype=$2 {
if (clsymbol ST_reg_debug) { write "VideoDecoderRegisters @ " -x (addr) " chiptype=" (chiptype) }
if (chiptype == "5508" || chiptype == "5518") {
register VID_CFG_MCF (addr+0x00) -group VideoDecoder -char
register VID_CFG_CCF (addr+0x01) -group VideoDecoder -char
}
register VID_CTL (addr+0x02) -group VideoDecoder -char
register VID_TIS (addr+0x03) -group VideoDecoder -char -writeonly
register VID_PFH (addr+0x04) -group VideoDecoder -char
register VID_PFV (addr+0x05) -group VideoDecoder -char
register VID_PPR1 (addr+0x06) -group VideoDecoder -char
register VID_PPR2 (addr+0x07) -group VideoDecoder -char
register VID_DFP (addr+0x0c) -group VideoDecoder -short -p BigEndian2Register
register VID_RFP (addr+0x0e) -group VideoDecoder -short -p BigEndian2Register
register VID_FFP (addr+0x10) -group VideoDecoder -short -p BigEndian2Register
register VID_BFP (addr+0x12) -group VideoDecoder -short -p BigEndian2Register
register VID_VBG (addr+0x14) -group VideoDecoder -short -p BigEndian2Register
register VID_VBL (addr+0x16) -group VideoDecoder -short -p BigEndian2Register -readonly
register VID_VBS (addr+0x18) -group VideoDecoder -short -p BigEndian2Register
register VID_VBT (addr+0x1a) -group VideoDecoder -short -p BigEndian2Register
register VID_ABG (addr+0x1c) -group VideoDecoder -short -p BigEndian2Register
register VID_ABL (addr+0x1e) -group VideoDecoder -short -p BigEndian2Register -readonly
register VID_ABS (addr+0x20) -group VideoDecoder -short -p BigEndian2Register
register VID_ABT (addr+0x22) -group VideoDecoder -short -p BigEndian2Register
register VID_DFS (addr+0x24) -group VideoDecoder -char -p Serial2Register
register VID_DFW (addr+0x25) -group VideoDecoder -char
register VID_XFW (addr+0x28) -group VideoDecoder -char
if (chiptype != "5508" && chiptype != "5518"){
register VID_OTP (addr+0x2a) -group VideoDecoder -char -p Serial2Register
}
if (chiptype != "5518"){
register VID_OBP (addr+0x2b) -group VideoDecoder -char -p Serial2Register
}
register VID_PAN (addr+0x2c) -group VideoDecoder -short -p BigEndian2Register
register VID_PTH (addr+0x2e) -group VideoDecoder -short -p BigEndian2Register
register VID_STA1 (addr+0x3b) -group VideoDecoder -char -readonly
register VID_ITM1 (addr+0x3c) -group VideoDecoder -char
register VID_ITS1 (addr+0x3d) -group VideoDecoder -char -readonly
register VID_LDP (addr+0x3f) -group VideoDecoder -char
register VID_SPRead (addr+0x4e) -group VideoDecoder -char -p Serial3Register
register VID_SPWrite (addr+0x4f) -group VideoDecoder -char -p Serial3Register
register VID_SPB (addr+0x50) -group VideoDecoder -short -p BigEndian2Register
register VID_SPE (addr+0x52) -group VideoDecoder -short -p BigEndian2Register
register VID_TRF (addr+0x56) -group VideoDecoder -short -p BigEndian2Register
register VID_DFC (addr+0x58) -group VideoDecoder -short -p BigEndian2Register
register VID_RFC (addr+0x5a) -group VideoDecoder -short -p BigEndian2Register
register VID_FFC (addr+0x5c) -group VideoDecoder -short -p BigEndian2Register
register VID_BFC (addr+0x5e) -group VideoDecoder -short -p BigEndian2Register
register VID_ITM2 (addr+0x60) -group VideoDecoder -short -p BigEndian2Register
register VID_ITS2 (addr+0x62) -group VideoDecoder -short -p BigEndian2Register -readonly
register VID_STA2 (addr+0x64) -group VideoDecoder -short -p BigEndian2Register -readonly
register VID_HDF (addr+0x66) -group VideoDecoder -char -p Serial2Register -readonly
register VID_CDcount (addr+0x67) -group VideoDecoder -char -p Serial3Register -readonly
register VID_SCDcount (addr+0x68) -group VideoDecoder -char -p Serial3Register -readonly
register VID_HDS (addr+0x69) -group VideoDecoder -char
register VID_LSO (addr+0x6a) -group VideoDecoder -char
register VID_CSO (addr+0x6c) -group VideoDecoder -char
register VID_XDO (addr+0x70) -group VideoDecoder -short -p BigEndian2Register
register VID_XDS (addr+0x72) -group VideoDecoder -short -p BigEndian2Register
register VID_DCF (addr+0x74) -group VideoDecoder -short -p BigEndian2Register
register VID_QMW (addr+0x76) -group VideoDecoder -char -writeonly
register VID_REV (addr+0x78) -group VideoDecoder -char -readonly
if (chiptype == "5510") {
register VID_SRA (addr+0x35) -group VideoDecoder -char
register VID_SRV (addr+0x39) -group VideoDecoder -char
register VID_YDS (addr+0x46) -group VideoDecoder -short -p BigEndian2Register
register VID_VFL (addr+0x54) -group VideoDecoder -char
register VID_VFC (addr+0x55) -group VideoDecoder -char
register VID_LSR (addr+0x6b) -group VideoDecoder -char -p SplitRegister
register VID_YDO (addr+0x6e) -group VideoDecoder -short -p BigEndian2Register
register VID_SCN (addr+0x87) -group VideoDecoder -char
register VID_OUT (addr+0x90) -group VideoDecoder -char
register VID_MWV (addr+0x9b) -group VideoDecoder -char
register VID_MWS (addr+0x9c) -group VideoDecoder -char
register VID_MWSV (addr+0x9d) -group Vi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -