⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commonchip.cfg

📁 flash programming STI 5.5.1.4 DCU3
💻 CFG
📖 第 1 页 / 共 5 页
字号:
  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 + -