200 lines
11 KiB
Plaintext
200 lines
11 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: FA526 (Faraday; ARM9) on chip peripherals
|
|
; @Props:
|
|
; @Author: -
|
|
; @Changelog:
|
|
; @Manufacturer:
|
|
; @Doc:
|
|
; @Core:
|
|
; @Chip:
|
|
; @Copyright: (C) 1989-2014 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: perfa526.per 16305 2023-06-28 11:47:37Z pegold $
|
|
|
|
config 16. 8.
|
|
width 8.
|
|
ASSERT VERSION.BUILD.BASE()>=80109.
|
|
|
|
sif PER.isNOTIFICATION()
|
|
base AVM:0x00000000
|
|
wgroup AVM:0x00++0
|
|
textline " Peripheral File Notification - "
|
|
button "show missing files" "DIALOG.MESSAGE ""Please check your installation for the possibly missing files:""+CONV.CHAR(0xa)+PER.NOTIFICATION.MISSINGFILES()"
|
|
textline " ---------------------------------------------------------------"
|
|
textline " The peripheral file for this SoC cannot be displayed. "
|
|
textline " Possible reasons are: "
|
|
textline " - it is missing in the local installation or under development "
|
|
textline " - it is confidential "
|
|
textline " "
|
|
textline " As fallback only the core registers are shown. "
|
|
textline " Please check www.lauterbach.com/scripts.html "
|
|
textline " or contact support@lauterbach.com . "
|
|
textline " "
|
|
endif
|
|
;begin include file arm/mmufa52x.ph
|
|
;parameters:
|
|
group c15:0x0--0x0 "CP15"
|
|
line.long 0x0 "ID,Identity Code Register"
|
|
hexmask.long.byte 0x0 24.--31. 0x1 "IMP ,Implementor"
|
|
hexmask.long.byte 0x0 16.--23. 0x1 " ARCH ,Architecture"
|
|
hexmask.long.word 0x0 4.--15. 0x1 " PART ,Part Number"
|
|
bitfld.long 0x0 0.--3. " VER ,Version" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
group c15:0x100--0x100
|
|
line.long 0x0 "CTR,Cache Type Register"
|
|
bitfld.long 0x0 18.--20. "DSIZE ,Data Cache Size" "512,1k,2k,4k,8k,16k,32k,64k"
|
|
bitfld.long 0x0 15.--17. " DASS ,Data Cache Associativity" "dir,2,4,8,16,32,64,128"
|
|
bitfld.long 0x0 12.--13. " DLEN ,Data Cache Line Length" "2,4,8,16"
|
|
textline " "
|
|
bitfld.long 0x0 6.--8. "ISIZE ,Instruction Cache Size" "512,1k,2k,4k,8k,16k,32k,64k"
|
|
bitfld.long 0x0 3.--5. " IASS ,Instruction Cache Associativity" "dir,2,4,8,16,32,64,128"
|
|
bitfld.long 0x0 0.--1. " ILEN ,Instruction Cache Line Length" "2,4,8,16"
|
|
group c15:0x300--0x300
|
|
line.long 0x0 "TTR,TLB Type Register"
|
|
bitfld.long 0x0 1.--3. "TASS ,TLB Associativity" "res,2-way,4-way,8-way,16-way,32-way,64-way,128-way"
|
|
bitfld.long 0x0 0. " TTYPE ,TLB Type" "unified,separated"
|
|
group c15:0x1--0x1
|
|
line.long 0x0 "CFG,Configuration Register"
|
|
bitfld.long 0x0 21. "nPre ,Precise/Imprecise Data Abort Mode" "precise,imprecise"
|
|
bitfld.long 0x0 13. " V ,Vector Base Address Location" "00000000,FFFF0000"
|
|
bitfld.long 0x0 12. " I ,Instruction Cache Enable" "disabled,enabled"
|
|
bitfld.long 0x0 11. " Z ,Branch Target Buffer (BTB) Enable" "disabled,enabled"
|
|
textline " "
|
|
bitfld.long 0x0 9. "R ,ROM Protection" "off,on"
|
|
bitfld.long 0x0 8. " S ,System Protection" "off,on"
|
|
bitfld.long 0x0 7. " B ,Big-endian Enable" "little,big"
|
|
textline " "
|
|
bitfld.long 0x0 3. "W ,Write Buffer Enable" "disabled,enabled"
|
|
bitfld.long 0x0 2. " C ,Data Cache Enable" "disabled,enabled"
|
|
bitfld.long 0x0 1. " A ,Alignment Check Enable" "disabled,enabled"
|
|
bitfld.long 0x0 0. " M ,Memory Management Unit (MMU) Enable" "disabled,enabled"
|
|
group c15:0x11--0x11
|
|
line.long 0x0 "ECR,Extension Control Register"
|
|
bitfld.long 0x0 0. "ECE ,Extension Control Enable" "disabled,enabled"
|
|
group c15:0x2--0x2
|
|
line.long 0x0 "TTB,Translation Table Base Register"
|
|
hexmask.long 0x0 14.--31. 0x4000 "TTBA ,Translation Table Base Address"
|
|
group c15:0x3--0x3
|
|
line.long 0x0 "DAC,Domain Access Control Register"
|
|
bitfld.long 0x0 30.--31. "D15 ,Domain Access 15" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 28.--29. " D14 ,Domain Access 14" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 26.--27. " D13 ,Domain Access 13" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 24.--25. " D12 ,Domain Access 12" "no access,client,reserved,manager"
|
|
textline " "
|
|
bitfld.long 0x0 22.--23. "D11 ,Domain Access 11" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 20.--21. " D10 ,Domain Access 10" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 18.--19. " D9 ,Domain Access 9" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 16.--17. " D8 ,Domain Access 8" "no access,client,reserved,manager"
|
|
textline " "
|
|
bitfld.long 0x0 14.--15. "D7 ,Domain Access 7" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 12.--13. " D6 ,Domain Access 6" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 10.--11. " D5 ,Domain Access 5" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 8.--9. " D4 ,Domain Access 4" "no access,client,reserved,manager"
|
|
textline " "
|
|
bitfld.long 0x0 6.--7. "D3 ,Domain Access 3" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 4.--5. " D2 ,Domain Access 2" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 2.--3. " D1 ,Domain Access 1" "no access,client,reserved,manager"
|
|
bitfld.long 0x0 0.--1. " D0 ,Domain Access 0" "no access,client,reserved,manager"
|
|
group c15:0x105--0x105
|
|
line.long 0x0 "PFSR,Pre-fetch Fault Status Register"
|
|
bitfld.long 0x0 4.--7. "DOM ,Domain" "D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15"
|
|
bitfld.long 0x0 0.--3. " STA ,Status" "reserved,alignment,reserved,reserved,reserved,translation,lock,translation,external,domain,external,domain,extontrans,permission,extontrans,permission"
|
|
group c15:0x5--0x5
|
|
line.long 0x0 "FSR,Fault Status Register"
|
|
bitfld.long 0x0 4.--7. "DOM ,Domain" "D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15"
|
|
bitfld.long 0x0 0.--3. " STA ,Status" "reserved,alignment,reserved,reserved,reserved,translation,lock,translation,external,domain,external,domain,extontrans,permission,extontrans,permission"
|
|
group c15:0x6--0x6
|
|
line.long 0x0 "FAR,Fault Address Register"
|
|
group c15:0x109--0x109
|
|
line.long 0x0 "ICL,Instruction Cache Lockdown"
|
|
bitfld.long 0x0 31. "LOCK ,Lockdown Operation" "no,yes"
|
|
group c15:0x9--0x9
|
|
line.long 0x0 "DCL,Data Cache Lockdown"
|
|
bitfld.long 0x0 31. "LOCK ,Lockdown Operation" "no,yes"
|
|
group c15:0x119--0x119
|
|
line.long 0x0 "ISC,Instruction Scratchpad Configuration Register"
|
|
hexmask.long 0x0 10.--31. 0x400 "ISB ,Instruction Scratchpad Base"
|
|
bitfld.long 0x0 2.--5. " ISS ,Instruction Scratchpad Size" "res,1kB,2kB,4kB,res,res,res,res,res,res,res,res,res,res,res,res"
|
|
bitfld.long 0x0 1. " 0/1 ,Self-loading Capability" "0,1"
|
|
bitfld.long 0x0 0. " ISE ,Enable Instruction Scratchpad RAM" "disabled,enabled"
|
|
group c15:0x19--0x19
|
|
line.long 0x0 "DSC,Data Scratchpad Configuration Register"
|
|
hexmask.long 0x0 10.--31. 0x400 "DSB ,Data Scratchpad Base"
|
|
bitfld.long 0x0 2.--5. " DSS ,Data Scratchpad Size" "res,1kB,2kB,4kB,res,res,res,res,res,res,res,res,res,res,res,res"
|
|
bitfld.long 0x0 1. " 0/1 ,Self-loading Capability" "0,1"
|
|
bitfld.long 0x0 0. " ISE ,Enable Data Scratchpad RAM" "disabled,enabled"
|
|
group c15:0x0d--0x0d
|
|
line.long 0x0 "PID,Process Identifier Register"
|
|
;end include file arm/mmufa52x.ph
|
|
;begin include file arm/icebreaker9.ph
|
|
;parameters:
|
|
group ice:0x0--0x5 "Debug Control"
|
|
line.long 0x0 "DBGCTRL,Debug Control Register"
|
|
bitfld.long 0x0 0x3 "STEP ,Single Step" "disabled,enabled"
|
|
bitfld.long 0x0 0x2 " INTDIS ,Interrupts Disable" "enabled,disabled"
|
|
bitfld.long 0x0 0x1 " DBGRQ ,Debug Request" "no,yes"
|
|
bitfld.long 0x0 0x0 " DBGACK ,Debug Acknowledge" "no,yes"
|
|
line.long 0x4 "DBGSTAT,Debug Status Register"
|
|
bitfld.long 0x4 0x4 "ITBIT ,ITBIT" "0,1"
|
|
bitfld.long 0x4 0x3 " SYSCOMP ,SYSCOMP" "0,1"
|
|
bitfld.long 0x4 0x2 " IFEN ,Interrupts Enable" "disabled,enabled"
|
|
bitfld.long 0x4 0x1 " DBGRQ ,Debug Request" "no,yes"
|
|
bitfld.long 0x4 0x0 " DBGACK ,Debug Acknowledge" "no,yes"
|
|
line.long 0x8 "VECTOR,Vector Catch Register"
|
|
bitfld.long 0x8 0x7 "FIQ ,FIQ" "dis,ena"
|
|
bitfld.long 0x8 0x6 " IRQ ,IRQ" "dis,ena"
|
|
bitfld.long 0x8 0x4 " D_ABO ,D_ABORT" "dis,ena"
|
|
bitfld.long 0x8 0x3 " P_ABO ,P_ABORT" "dis,ena"
|
|
bitfld.long 0x8 0x2 " SWI ,SWI" "dis,ena"
|
|
bitfld.long 0x8 0x1 " UND ,UNDEF" "dis,ena"
|
|
bitfld.long 0x8 0x0 " RES ,RESET" "dis,ena"
|
|
line.long 0x10 "COMCTRL,Debug Communication Control Register"
|
|
bitfld.long 0x10 28.--31. "VERSION ,Version Number" "0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111"
|
|
bitfld.long 0x10 0x1 " WRITE ,Write Register Free" "idle,pend"
|
|
bitfld.long 0x10 0x0 " READ ,Read Register Free" "idle,pend"
|
|
line.long 0x14 "COMDATA,Debug Communication Data Register"
|
|
group ice:0x8--0x0d "Watchpoint 0"
|
|
line.long 0x0 "AV,Address Value"
|
|
line.long 0x4 "AM,Address Mask"
|
|
line.long 0x8 "DV,Data Value"
|
|
line.long 0x0c "DM,Data Mask"
|
|
line.long 0x10 "CV,Control Value"
|
|
bitfld.long 0x10 0x8 "ENABLE ,Global Enable for Watchpoint 1" "DIS,ENA"
|
|
bitfld.long 0x10 0x7 " RANGE ,Assert RANGEOUT Signal" "0 ,1"
|
|
bitfld.long 0x10 0x6 " CHAIN ,Connect to Watchpoint 0" "0 ,1"
|
|
bitfld.long 0x10 0x5 " EXTERN ,Depentend from EXTERN Signal" "0 ,1"
|
|
bitfld.long 0x10 0x4 " nTRANS ,CPU Mode" "User,no User"
|
|
bitfld.long 0x10 0x3 " nOPC ,Op Fetch" "Inst,Data"
|
|
bitfld.long 0x10 0x1--0x2 " MAS ,Access Size" "Byte,Word,Long,Res"
|
|
bitfld.long 0x10 0x0 " nRW ,Read/Write" "R ,W"
|
|
line.long 0x14 "CM,Control Mask"
|
|
bitfld.long 0x14 0x7 " RANGE ,Assert RANGEOUT Signal" "ENA,DIS"
|
|
bitfld.long 0x14 0x6 " CHAIN ,Connect to Watchpoint 0" "ENA,DIS"
|
|
bitfld.long 0x14 0x5 " EXTERN ,Depentend from EXTERN Signal" "ENA,DIS"
|
|
bitfld.long 0x14 0x4 " nTRANS ,CPU Mode" "ENA,DIS "
|
|
bitfld.long 0x14 0x3 " nOPC ,Op Fetch" "ENA ,DIS"
|
|
bitfld.long 0x14 0x1--0x2 " MAS ,Access Size" "ENA ,Res,Res,DIS"
|
|
bitfld.long 0x14 0x0 " nRW ,Read/Write" "ENA,DIS"
|
|
group ice:0x10--0x15 "Watchpoint 1"
|
|
line.long 0x0 "AV,Address Value"
|
|
line.long 0x4 "AM,Address Mask"
|
|
line.long 0x8 "DV,Data Value"
|
|
line.long 0x0c "DM,Data Mask"
|
|
line.long 0x10 "CV,Control Value"
|
|
bitfld.long 0x10 0x8 "ENABLE ,Global Enable for Watchpoint 1" "DIS,ENA"
|
|
bitfld.long 0x10 0x7 " RANGE ,Assert RANGEOUT Signal" "0 ,1"
|
|
bitfld.long 0x10 0x6 " CHAIN ,Connect to Watchpoint 0" "0 ,1"
|
|
bitfld.long 0x10 0x5 " EXTERN ,Depentend from EXTERN Signal" "0 ,1"
|
|
bitfld.long 0x10 0x4 " nTRANS ,CPU Mode" "User,no User"
|
|
bitfld.long 0x10 0x3 " nOPC ,Op Fetch" "Inst,Data"
|
|
bitfld.long 0x10 0x1--0x2 " MAS ,Access Size" "Byte,Word,Long,Res"
|
|
bitfld.long 0x10 0x0 " nRW ,Read/Write" "R ,w"
|
|
line.long 0x14 "CM,Control Mask"
|
|
bitfld.long 0x14 0x7 " RANGE ,Assert RANGEOUT Signal" "ENA,DIS"
|
|
bitfld.long 0x14 0x6 " CHAIN ,Connect to Watchpoint 0" "ENA,DIS"
|
|
bitfld.long 0x14 0x5 " EXTERN ,Depentend from EXTERN Signal" "ENA,DIS"
|
|
bitfld.long 0x14 0x4 " nTRANS ,CPU Mode" "ENA,DIS "
|
|
bitfld.long 0x14 0x3 " nOPC ,Op Fetch" "ENA ,DIS"
|
|
bitfld.long 0x14 0x1--0x2 " MAS ,Access Size" "ENA ,Res,Res,DIS"
|
|
bitfld.long 0x14 0x0 " nRW ,Read/Write" "ENA,DIS"
|
|
;end include file arm/icebreaker9.ph
|