Files
Work/Src/Gen4_R-Car_Trace32/2_Trunk/permtb.per
2026-06-16 12:20:14 +09:00

147 lines
7.0 KiB
Plaintext

; --------------------------------------------------------------------------------
; @Title: Cortex-M Micro Trace Buffer (MTB)
; @Props: Released
; @Author: PEG, NEJ
; @Manufacturer: ARM
; @Doc: DDI0486B_coresight_mtb_m0p_r0p1_trm.pdf
; coresight_mtb_m23_r0p0_technical_reference_manual_DDI0564C_en.pdf
; arm_coresight_mtb_m33_trm_100231_0002_05_en.pdf
; @Copyright: (C) 1989-2024 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: permtb.per 18278 2024-08-26 15:58:24Z kwisniewski $
config 16. 8.
autoindent.on center tree
base component.base("MTB",0)
tree "Micro Trace Buffer"
sif COMP.AVAILABLE("MTB")
group.long 0x00++0x03
line.long 0x00 "POSITION,MTB Position Register"
hexmask.long 0x00 3.--31. 1. "POINTER,Trace Packet Address Pointer[28:0]"
bitfld.long 0x00 2. "WRAP,Indicates when the POINTER value has wrapped" "Not wrapped,Wrapped"
sif ((CORENAME()=="CORTEXM33")||(CORENAME()=="CORTEXM35P")||(CORENAME()=="CORTEXM33F")||(CORENAME()=="CORTEXM35PF"))
group.long 0x04++0x03
line.long 0x00 "MASTER,MTB Master Register"
bitfld.long 0x00 31. "EN,Main Trace Enable" "Disabled,Enabled"
bitfld.long 0x00 30. "NSEN,Non-secure Trace Enable" "Disabled,Enabled"
newline
bitfld.long 0x00 9. "HALTREQ,Halt Request" "Not requested,Requested"
bitfld.long 0x00 8. "RAMPRIV,RAM Privilege" "Unprivileged/Privileged,Only privileged"
newline
bitfld.long 0x00 6. "TSTOPEN,Trace Stop Input Enable" "Disabled,Enabled"
bitfld.long 0x00 5. "TSTARTEN,Trace Start Input Enable" "Disabled,Enabled"
newline
bitfld.long 0x00 0.--4. "MASK,Mask" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31"
else
group.long 0x04++0x03
line.long 0x00 "MASTER,MTB Master Register"
bitfld.long 0x00 31. "EN,Main Trace Enable" "Disabled,Enabled"
bitfld.long 0x00 9. "HALTREQ,Halt Request" "Not requested,Requested"
newline
bitfld.long 0x00 8. "RAMPRIV,RAM Privilege" "Unprivileged/Privileged,Only privileged"
bitfld.long 0x00 7. "SFRWPRIV,Special Function Register Write Privilege" "0,1"
newline
bitfld.long 0x00 6. "TSTOPEN,Trace Stop Input Enable" "Disabled,Enabled"
bitfld.long 0x00 5. "TSTARTEN,Trace Start Input Enable" "Disabled,Enabled"
newline
bitfld.long 0x00 0.--4. "MASK,Mask" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31"
endif
group.long 0x08++0x03
line.long 0x00 "FLOW,MTB Flow Register"
hexmask.long 0x00 3.--31. 1. "WATERMARK,WATERMARK[28:0]"
bitfld.long 0x00 1. "AUTOHALT,Automatic Trace Halt" "Not requested,Requested"
newline
bitfld.long 0x00 0. "AUTOSTOP,Watermark auto stop" "Disabled,Enabled"
sif ((CORENAME()=="CORTEXM33")||(CORENAME()=="CORTEXM35P")||(CORENAME()=="CORTEXM33F")||(CORENAME()=="CORTEXM35PF"))
rgroup.long 0x0C++0x03
line.long 0x00 "BASE,MTB Base Register"
hexmask.long 0x00 5.--31. 0x20 "BASEADDR,Value of the MTBSRAMBASE[31:5] signal"
else
rgroup.long 0x0C++0x03
line.long 0x00 "BASE,MTB Base Register"
hexmask.long 0x00 0.--31. 1. "BASEADDR,Value of the MTBSRAMBASE signal"
endif
if ((CORENAME()=="CORTEXM33")||(CORENAME()=="CORTEXM35P")||(CORENAME()=="CORTEXM33F")||(CORENAME()=="CORTEXM35PF")||(CORENAME()=="CORTEXM23"))
rgroup.long 0x10++0x03
line.long 0x00 "TSTART,MTB TSTART Register"
bitfld.long 0x00 0. "CMPMATCH[0],The behavior of CMPMATCH after receiving the event on Comparator 0" "Ignored,Triggered"
bitfld.long 0x00 1. "CMPMATCH[1],The behavior of CMPMATCH after receiving the event on Comparator 1" "Ignored,Triggered"
newline
bitfld.long 0x00 2. "CMPMATCH[2],The behavior of CMPMATCH after receiving the event on Comparator 2" "Ignored,Triggered"
bitfld.long 0x00 3. "CMPMATCH[3],The behavior of CMPMATCH after receiving the event on Comparator 3" "Ignored,Triggered"
rgroup.long 0x14++0x03
line.long 0x00 "TSTOP,MTB TSTOP Register"
bitfld.long 0x00 0. "CMPMATCH[0],The behavior of CMPMATCH after receiving the event on Comparator 0" "Ignored,Triggered"
bitfld.long 0x00 1. "CMPMATCH[1],The behavior of CMPMATCH after receiving the event on Comparator 1" "Ignored,Triggered"
newline
bitfld.long 0x00 2. "CMPMATCH[2],The behavior of CMPMATCH after receiving the event on Comparator 2" "Ignored,Triggered"
bitfld.long 0x00 3. "CMPMATCH[3],The behavior of CMPMATCH after receiving the event on Comparator 3" "Ignored,Triggered"
endif
sif ((CORENAME()=="CORTEXM33")||(CORENAME()=="CORTEXM35P")||(CORENAME()=="CORTEXM33F")||(CORENAME()=="CORTEXM35PF"))
if (((per.l(COMPonent.base("MTB",-1)+0x18))&0x01)==0x00)
rgroup.long 0x18++0x03
line.long 0x00 "SECURE,MTB Secure Register"
hexmask.long 0x00 5.--31. 1. "THRESHOLD,Threshold field"
bitfld.long 0x00 1. "NS,SRAM Non-secure" "Secure,Non-secure"
bitfld.long 0x00 0. "THRSEN,Threshold enable" "Disabled,Enabled"
else
rgroup.long 0x18++0x03
line.long 0x00 "SECURE,MTB Secure Register"
hexmask.long 0x00 5.--31. 1. "THRESHOLD,Threshold field"
bitfld.long 0x00 1. "NS,SRAM Non-secure (lower addresses/higher addresses)" "Non-secure/Secure,Secure/Non-secure"
bitfld.long 0x00 0. "THRSEN,Threshold enable" "Disabled,Enabled"
endif
endif
width 15.
tree "CoreSight Management Registers"
rgroup.long 0xF00++0x03
line.long 0x00 "MODECTRL,Integration Mode Control Register"
hexmask.long 0x00 0.--31. 1. "MODECTRL,MODECTRL"
rgroup.long 0xFA0++0x03
line.long 0x00 "TAGSET,Claim TAG Set Register"
hexmask.long 0x00 0.--31. 1. "TAGSET,TAGSET"
rgroup.long 0xFA4++0x03
line.long 0x00 "TAGCLEAR,Claim TAG Clear Register"
hexmask.long 0x00 0.--31. 1. "TAGCLEAR,TAGCLEAR"
rgroup.long 0xFB0++0x03
line.long 0x00 "LOCKACCESS,Lock Access Register"
hexmask.long 0x00 0.--31. 1. "LOCKACCESS,Hardwired to 0x0000_0000"
rgroup.long 0xFB4++0x03
line.long 0x00 "LOCKSTAT,Lock Status Register"
hexmask.long 0x00 0.--31. 1. "LOCKSTAT,LOCKSTAT"
rgroup.long 0xFB8++0x03
line.long 0x00 "AUTHSTAT,Authentication Status Register"
bitfld.long 0x00 3. "NSNID[1],Non-secure noninvasive debug bit 1" "0,1"
bitfld.long 0x00 2. "NSNID[0],Non-secure noninvasive debug (NIDEN | DBGEN) bit 0" "FALSE,TRUE"
newline
bitfld.long 0x00 1. "NSID[1],Non-secure invasive debug bit 1" "0,1"
bitfld.long 0x00 0. "NSID[0],Non-secure invasive debug (DBGEN) bit 0" "FALSE,TRUE"
rgroup.long 0xFBC++0x03
line.long 0x00 "DEVICEARCH,Device Architecture Register"
hexmask.long 0x00 0.--31. 1. "DEVICEARCH,DEVICEARCH"
rgroup.long 0xFC8++0x03
line.long 0x00 "DEVICECFG,Device Configuration Register"
hexmask.long 0x00 0.--31. 1. "DEVICECFG,DEVICECFG"
rgroup.long 0xFCC++0x03
line.long 0x00 "DEVICETYPID,Device Type Identifier Register"
hexmask.long 0x00 0.--31. 1. "DEVICETYPID,DEVICETYPID"
repeat 8. (strings "4" "5" "6" "7" "0" "1" "2" "3" )(list 0x00 0x04 0x08 0x0C 0x10 0x14 0x18 0x1C)
rgroup.long ($2+0xFD0)++0x03
line.long 0x00 "PERIPHID$1,Peripheral ID Register"
hexmask.long 0x00 0.--31. 1. "PERIPHID,PERIPHID"
repeat.end
repeat 4. (strings "0" "1" "2" "3" )(list 0x00 0x04 0x08 0x0C )
rgroup.long ($2+0xFF0)++0x03
line.long 0x00 "COMPID$1,Component ID Register"
hexmask.long 0x00 0.--31. 1. "COMPID,Component ID"
repeat.end
tree.end
else
newline
textline "Micro Trace Buffer not available"
textline "Either MTB component base address is not specified or this core does not support MTB"
newline
endif
tree.end
textline ""