6493 lines
420 KiB
Plaintext
6493 lines
420 KiB
Plaintext
; --------------------------------------------------------------------------------
|
|
; @Title: ATSAMD09x On-Chip Peripherals
|
|
; @Author: AJK
|
|
; @Changelog: 2017-06-16 AJK
|
|
; @Manufacturer: ATMEL - Atmel Corporation
|
|
; @Doc: Atmel-42414-SAM-D09_Datasheet.pdf (Rev. 2016-09)
|
|
; @Core: Cortex-M0P
|
|
; @Chip: ATSAMD09C13, ATSAMD09D14
|
|
; @Copyright: (C) 1989-2017 Lauterbach GmbH, licensed for use with TRACE32(R) only
|
|
; --------------------------------------------------------------------------------
|
|
; $Id: peratsamd09.per 10634 2019-06-05 05:51:19Z mkolodziejczyk $
|
|
|
|
config 16. 8.
|
|
tree.close "Core Registers (Cortex-M0+)"
|
|
AUTOINDENT.PUSH
|
|
AUTOINDENT.OFF
|
|
tree "System Control"
|
|
sif COMPonent.AVAILABLE("COREDEBUG")
|
|
base CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))
|
|
width 0x8
|
|
if (CORENAME()=="CORTEXM1")
|
|
group.long 0x10++0x0b
|
|
line.long 0x00 "STCSR,SysTick Control and Status Register"
|
|
bitfld.long 0x00 16. " COUNTFLAG ,Returns 1 if timer counted to 0" "0,1"
|
|
bitfld.long 0x00 2. " CLKSOURCE ,Always reads as one" "No effect,Processor clock"
|
|
textline " "
|
|
bitfld.long 0x00 1. " TICKINT ,Counting down to 0 " "No SysTick,SysTick"
|
|
bitfld.long 0x00 0. " ENABLE ,Counter enable" "Disabled,Enabled"
|
|
line.long 0x04 "STRVR,SysTick Reload Value Register"
|
|
hexmask.long.tbyte 0x04 0.--23. 1. " RELOAD ,Value to load into the STCVR when the counter reaches 0"
|
|
line.long 0x08 "STCVR,SysTick Current Value Register"
|
|
hexmask.long.tbyte 0x08 0.--23. 1. " CURRENT ,Reads return the current value of the SysTick counter"
|
|
else
|
|
group.long 0x10++0x0b
|
|
line.long 0x00 "STCSR,SysTick Control and Status Register"
|
|
bitfld.long 0x00 16. " COUNTFLAG ,Returns 1 if timer counted to 0" "0,1"
|
|
bitfld.long 0x00 2. " CLKSOURCE ,Always reads as one" "External clock,Processor clock"
|
|
textline " "
|
|
bitfld.long 0x00 1. " TICKINT ,Counting down to 0 " "No SysTick,SysTick"
|
|
bitfld.long 0x00 0. " ENABLE ,Counter enable" "Disabled,Enabled"
|
|
line.long 0x04 "STRVR,SysTick Reload Value Register"
|
|
hexmask.long.tbyte 0x04 0.--23. 1. " RELOAD ,Value to load into the STCVR when the counter reaches 0"
|
|
line.long 0x08 "STCVR,SysTick Current Value Register"
|
|
hexmask.long.tbyte 0x08 0.--23. 1. " CURRENT ,Reads return the current value of the SysTick counter"
|
|
endif
|
|
if (CORENAME()=="CORTEXM1")
|
|
rgroup.long 0x1c++0x03
|
|
line.long 0x00 "STCR,SysTick Calibration Value Register"
|
|
bitfld.long 0x00 31. " NOREF ,Reads as one" "0,1"
|
|
bitfld.long 0x00 30. " SKEW ,Reads as zero" "0,1"
|
|
textline " "
|
|
hexmask.long.tbyte 0x00 0.--23. 1. " TENMS ,Indicates calibration value is not known"
|
|
else
|
|
rgroup.long 0x1c++0x03
|
|
line.long 0x00 "STCR,SysTick Calibration Value Register"
|
|
bitfld.long 0x00 31. " NOREF ,Indicates whether the IMPL_DEF reference clock is provided" "Implemented,Not implemented"
|
|
bitfld.long 0x00 30. " SKEW ,Indicates whether the 10ms calibration value is exact" "Exact,Inexact"
|
|
textline " "
|
|
hexmask.long.tbyte 0x00 0.--23. 1. " TENMS ,Holds a reload value to be used for 10ms (100Hz) timing subject to system clock skew errors"
|
|
endif
|
|
rgroup.long 0xd00++0x03
|
|
line.long 0x00 "CPUID,CPU ID Base Register"
|
|
hexmask.long.byte 0x00 24.--31. 1. " IMPLEMENTER ,Implementer code"
|
|
hexmask.long.byte 0x00 20.--23. 1. " VARIANT ,Implementation defined variant number"
|
|
textline " "
|
|
hexmask.long.byte 0x00 4.--15. 1. " PARTNO ,Number of processor within family"
|
|
hexmask.long.byte 0x00 0.--3. 1. " REVISION ,Implementation defined revision number"
|
|
group.long 0xd04++0x03
|
|
line.long 0x00 "ICSR,Interrupt Control State Register"
|
|
bitfld.long 0x00 31. " NMIPENDSET ,Setting this bit will activate an NMI" "No effect,Set pending"
|
|
bitfld.long 0x00 28. " PENDSVSET ,Set a pending PendSV interrupt" "No effect,Set pending"
|
|
textline " "
|
|
bitfld.long 0x00 27. " PENDSVCLR ,Clear a pending PendSV interrupt" "No effect,Clear pending"
|
|
bitfld.long 0x00 26. " PENDSTSET ,Set a pending SysTick" "No effect,Set pending"
|
|
textline " "
|
|
bitfld.long 0x00 25. " PENDSVCLR ,Clear a pending SysTick" "No effect,Clear pending"
|
|
bitfld.long 0x00 23. " ISRPREEMPT ,Pending exception service" "No service,Service"
|
|
textline " "
|
|
bitfld.long 0x00 22. " ISRPENDING ,External interrupt pending flag" "No interrupt,Interrupt"
|
|
hexmask.long.byte 0x00 12.--17. 1. " VECTPENDING ,Active exception number field"
|
|
textline " "
|
|
hexmask.long.byte 0x00 0.--5. 1. " VECTACTIVET ,Active exception number field"
|
|
if (CORENAME()=="CORTEXM0+")
|
|
group.long 0xd08++0x03
|
|
line.long 0x00 "VTOR,Vector Table Offset Register"
|
|
hexmask.long 0x00 7.--31. 0x80 " TBLOFF ,Vector table address"
|
|
else
|
|
textline " "
|
|
endif
|
|
group.long 0xd0c++0x03
|
|
line.long 0x00 "AIRCR,Application Interrupt and Reset Control Register"
|
|
hexmask.long.word 0x00 16.--31. 1. " VECTKEY ,Vector Key"
|
|
bitfld.long 0x00 15. " ENDIANNESS ,Data endianness bit" "Little-endian,Big-endian"
|
|
textline " "
|
|
bitfld.long 0x00 2. " SYSRESETREQ ,System reset setup request" "No effect,Reset"
|
|
bitfld.long 0x00 1. " VECTCLRACTIVE ,Clears all active state information" "No clear,Clear"
|
|
group.long 0xd10++0x03
|
|
line.long 0x00 "SCR,System Control Register"
|
|
bitfld.long 0x00 4. " SEVONPEND ,Determines whether an interrupt transition from inactive state to pending state is a wakeup event" "Not wakeup,Wakeup"
|
|
bitfld.long 0x00 2. " SLEEPDEEP ,Provides a qualifying hint indicating that waking from sleep might take longer" "Not deep sleep,Deep sleep"
|
|
textline " "
|
|
bitfld.long 0x00 1. " SLEEPONEXIT ,Determines whether, on an exit from an ISR that returns to the base level of execution priority, the processor enters a sleep state" "Disabled,Enabled"
|
|
rgroup.long 0xd14++0x03
|
|
line.long 0x00 "CCR,Configuration and Control Register"
|
|
bitfld.long 0x00 9. " STKALIGN ,Indicates whether on exception entry all exceptions are entered with 8-byte stack alignment and the context to restore it is saved" "Reserved,Aligned"
|
|
bitfld.long 0x00 3. " UNALIGN_TRP ,Indicates that all unaligned accesses results in a Hard Fault" "Reserved,Trapped"
|
|
group.long 0xd1c++0x0b
|
|
line.long 0x00 "SHPR2,System Handler Priority Register 2"
|
|
bitfld.long 0x00 30.--31. " PRI_11 ,Priority of system handler 11-SVCall" "00,01,10,11"
|
|
line.long 0x04 "SHPR3,System Handler Priority Register 3"
|
|
bitfld.long 0x04 30.--31. " PRI_15 ,Priority of system handler 15-SysTick" "00,01,10,11"
|
|
bitfld.long 0x04 22.--23. " PRI_14 ,Priority of system handler 14- PendSV" "00,01,10,11"
|
|
line.long 0x08 "SHCSR,System Handler Control and State Register"
|
|
bitfld.long 0x08 15. " SVCALLPENDED ,Reads as 1 if SVCall is pending" "Not pending,Pending"
|
|
if (CORENAME()=="CORTEXM0+")
|
|
hgroup.long 0x08++0x03
|
|
hide.long 0x00 "ACTLR,Auxiliary Control Register"
|
|
else
|
|
textline " "
|
|
endif
|
|
else
|
|
newline
|
|
textline "COREDEBUG component base address not specified"
|
|
newline
|
|
endif
|
|
tree.end
|
|
tree "Memory Protection Unit (MPU)"
|
|
sif COMPonent.AVAILABLE("COREDEBUG")
|
|
base CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))
|
|
width 15.
|
|
rgroup.long 0xD90++0x03
|
|
line.long 0x00 "MPU_TYPE,MPU Type Register"
|
|
bitfld.long 0x00 8.--15. 1. " DREGION ,Number of regions supported by the MPU" "0,1,2,3,4,5,6,7,8,?..."
|
|
group.long 0xD94++0x03
|
|
line.long 0x00 "MPU_CTRL,MPU Control Register"
|
|
bitfld.long 0x00 2. " PRIVDEFENA ,Enables the default memory map as a background region for privileged access" "Disabled,Enabled"
|
|
bitfld.long 0x00 1. " HFNMIENA ,Handlers executing with priority less than 0 access memory with the MPU enabled or with the MPU disabled" "MPU disabled,MPU enabled"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables the MPU" "Disabled,Enabled"
|
|
group.long 0xD98++0x03
|
|
line.long 0x00 "MPU_RNR,MPU Region Number Register"
|
|
hexmask.long.byte 0x00 0.--7. 1. " REGION ,Indicates the memory region accessed by MPU_RBAR and MPU_RASR"
|
|
tree.close "MPU regions"
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x0
|
|
group.long 0xD9C++0x03 "Region 0"
|
|
saveout 0xD98 %l 0x0
|
|
line.long 0x00 "MPU_RBAR0,MPU Region Base Address Register 0"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x0
|
|
line.long 0x00 "MPU_RASR0,MPU Region Attribute and Size Register 0"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 0 (not implemented)"
|
|
saveout 0xD98 %l 0x0
|
|
hide.long 0x00 "MPU_RBAR0,MPU Region Base Address Register 0"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x0
|
|
hide.long 0x00 "MPU_RASR0,MPU Region Attribute and Size Register 0"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x1
|
|
group.long 0xD9C++0x03 "Region 1"
|
|
saveout 0xD98 %l 0x1
|
|
line.long 0x00 "MPU_RBAR1,MPU Region Base Address Register 1"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x1
|
|
line.long 0x00 "MPU_RASR1,MPU Region Attribute and Size Register 1"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 1 (not implemented)"
|
|
saveout 0xD98 %l 0x1
|
|
hide.long 0x00 "MPU_RBAR1,MPU Region Base Address Register 1"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x1
|
|
hide.long 0x00 "MPU_RASR1,MPU Region Attribute and Size Register 1"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x2
|
|
group.long 0xD9C++0x03 "Region 2"
|
|
saveout 0xD98 %l 0x2
|
|
line.long 0x00 "MPU_RBAR2,MPU Region Base Address Register 2"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x2
|
|
line.long 0x00 "MPU_RASR2,MPU Region Attribute and Size Register 2"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 2 (not implemented)"
|
|
saveout 0xD98 %l 0x2
|
|
hide.long 0x00 "MPU_RBAR2,MPU Region Base Address Register 2"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x2
|
|
hide.long 0x00 "MPU_RASR2,MPU Region Attribute and Size Register 2"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x3
|
|
group.long 0xD9C++0x03 "Region 3"
|
|
saveout 0xD98 %l 0x3
|
|
line.long 0x00 "MPU_RBAR3,MPU Region Base Address Register 3"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x3
|
|
line.long 0x00 "MPU_RASR3,MPU Region Attribute and Size Register 3"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 3 (not implemented)"
|
|
saveout 0xD98 %l 0x3
|
|
hide.long 0x00 "MPU_RBAR3,MPU Region Base Address Register 3"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x3
|
|
hide.long 0x00 "MPU_RASR3,MPU Region Attribute and Size Register 3"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x4
|
|
group.long 0xD9C++0x03 "Region 4"
|
|
saveout 0xD98 %l 0x4
|
|
line.long 0x00 "MPU_RBAR4,MPU Region Base Address Register 4"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x4
|
|
line.long 0x00 "MPU_RASR4,MPU Region Attribute and Size Register 4"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 4 (not implemented)"
|
|
saveout 0xD98 %l 0x4
|
|
hide.long 0x00 "MPU_RBAR4,MPU Region Base Address Register 4"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x4
|
|
hide.long 0x00 "MPU_RASR4,MPU Region Attribute and Size Register 4"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x5
|
|
group.long 0xD9C++0x03 "Region 5"
|
|
saveout 0xD98 %l 0x5
|
|
line.long 0x00 "MPU_RBAR5,MPU Region Base Address Register 5"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x5
|
|
line.long 0x00 "MPU_RASR5,MPU Region Attribute and Size Register 5"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 5 (not implemented)"
|
|
saveout 0xD98 %l 0x5
|
|
hide.long 0x00 "MPU_RBAR5,MPU Region Base Address Register 5"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x5
|
|
hide.long 0x00 "MPU_RASR5,MPU Region Attribute and Size Register 5"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x6
|
|
group.long 0xD9C++0x03 "Region 6"
|
|
saveout 0xD98 %l 0x6
|
|
line.long 0x00 "MPU_RBAR6,MPU Region Base Address Register 6"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x6
|
|
line.long 0x00 "MPU_RASR6,MPU Region Attribute and Size Register 6"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 6 (not implemented)"
|
|
saveout 0xD98 %l 0x6
|
|
hide.long 0x00 "MPU_RBAR6,MPU Region Base Address Register 6"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x6
|
|
hide.long 0x00 "MPU_RASR6,MPU Region Attribute and Size Register 6"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
if ((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xD90)&0xff00)>>8)>0x7
|
|
group.long 0xD9C++0x03 "Region 7"
|
|
saveout 0xD98 %l 0x7
|
|
line.long 0x00 "MPU_RBAR7,MPU Region Base Address Register 7"
|
|
hexmask.long 0x00 8.--31. 0x20 " ADDR ,Base address of the region"
|
|
group.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x7
|
|
line.long 0x00 "MPU_RASR7,MPU Region Attribute and Size Register 7"
|
|
bitfld.long 0x00 28. " XN ,eXecute Never" "Execute,Not execute"
|
|
bitfld.long 0x00 24.--26. " AP ,Data Access Permission" "No access,S:RW U:--,S:RW U:R-,S:RW U:RR,reserved,S:R- U:--,S:R- U:R-,S:R- U:R-"
|
|
bitfld.long 0x00 19.--21. " TEX ,Type Extension Field" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 18. " S ,Shareable Bit" "Not shareable,Shareable"
|
|
bitfld.long 0x00 17. " C ,Cacheable Bit" "Not cacheable,Cacheable"
|
|
bitfld.long 0x00 16. " B ,Bufferable Bit" "Not bufferable,Bufferable"
|
|
textline " "
|
|
bitfld.long 0x00 15. " SRD[7..0] ,Subregion 7 Disable" "0,1"
|
|
bitfld.long 0x00 14. ",Subregion 6 Disable" "0,1"
|
|
bitfld.long 0x00 13. ",Subregion 5 Disable" "0,1"
|
|
bitfld.long 0x00 12. ",Subregion 4 Disable" "0,1"
|
|
bitfld.long 0x00 11. ",Subregion 3 Disable" "0,1"
|
|
bitfld.long 0x00 10. ",Subregion 2 Disable" "0,1"
|
|
bitfld.long 0x00 9. ",Subregion 1 Disabled" "0,1"
|
|
bitfld.long 0x00 8. ",Subregion 0 Disable" "0,1"
|
|
bitfld.long 0x00 1.--5. " SIZE ,Indicates the region size" "-,-,-,-,-,-,-,256 B,512 B,1 kB,2 kB,4 kB,8 kB,16 kB,32 kB,64 kB,128 kB,256 kB,512 kB,1 MB,2 MB,4 MB,8 MB,16 MB,32 MB,64 MB,128 MB,256 MB,512 MB,1 GB,2 GB,4 GB"
|
|
bitfld.long 0x00 0. " ENABLE ,Enables this region" "Disabled,Enabled"
|
|
else
|
|
hgroup.long 0xD9C++0x03 "Region 7 (not implemented)"
|
|
saveout 0xD98 %l 0x7
|
|
hide.long 0x00 "MPU_RBAR7,MPU Region Base Address Register 7"
|
|
hgroup.long 0xDA0++0x03
|
|
saveout 0xD98 %l 0x7
|
|
hide.long 0x00 "MPU_RASR7,MPU Region Attribute and Size Register 7"
|
|
textline " "
|
|
textline " "
|
|
endif
|
|
tree.end
|
|
width 0x0b
|
|
else
|
|
newline
|
|
textline "COREDEBUG component base address not specified"
|
|
newline
|
|
endif
|
|
tree.end
|
|
tree "Nested Vectored Interrupt Controller (NVIC)"
|
|
sif COMPonent.AVAILABLE("COREDEBUG")
|
|
base CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))
|
|
width 12.
|
|
tree "Interrupt Enable Registers"
|
|
group.long 0x100++0x03
|
|
line.long 0x00 "SET/CLREN,Interrupt Set/Clear Enable Register"
|
|
setclrfld.long 0x00 31. 0x00 31. 0x80 31. " SET/CLRENA31 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 30. 0x00 30. 0x80 30. " SET/CLRENA30 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 29. 0x00 29. 0x80 29. " SET/CLRENA29 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 28. 0x00 28. 0x80 28. " SET/CLRENA28 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 27. 0x00 27. 0x80 27. " SET/CLRENA27 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 26. 0x00 26. 0x80 26. " SET/CLRENA26 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 25. 0x00 25. 0x80 25. " SET/CLRENA25 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 24. 0x00 24. 0x80 24. " SET/CLRENA24 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 23. 0x00 23. 0x80 23. " SET/CLRENA23 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 22. 0x00 22. 0x80 22. " SET/CLRENA22 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 21. 0x00 21. 0x80 21. " SET/CLRENA21 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 20. 0x00 20. 0x80 20. " SET/CLRENA20 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 19. 0x00 19. 0x80 19. " SET/CLRENA19 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 18. 0x00 18. 0x80 18. " SET/CLRENA18 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 17. 0x00 17. 0x80 17. " SET/CLRENA17 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 16. 0x00 16. 0x80 16. " SET/CLRENA16 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 15. 0x00 15. 0x80 15. " SET/CLRENA15 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 14. 0x00 14. 0x80 14. " SET/CLRENA14 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 13. 0x00 13. 0x80 13. " SET/CLRENA13 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 12. 0x00 12. 0x80 12. " SET/CLRENA12 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 11. 0x00 11. 0x80 11. " SET/CLRENA11 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 10. 0x00 10. 0x80 10. " SET/CLRENA10 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 9. 0x00 9. 0x80 9. " SET/CLRENA9 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 8. 0x00 8. 0x80 8. " SET/CLRENA8 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 7. 0x00 7. 0x80 7. " SET/CLRENA7 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 6. 0x00 6. 0x80 6. " SET/CLRENA6 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 5. 0x00 5. 0x80 5. " SET/CLRENA5 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 4. 0x00 4. 0x80 4. " SET/CLRENA4 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 3. 0x00 3. 0x80 3. " SET/CLRENA3 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 2. 0x00 2. 0x80 2. " SET/CLRENA2 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 1. 0x00 1. 0x80 1. " SET/CLRENA1 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
setclrfld.long 0x00 0. 0x00 0. 0x80 0. " SET/CLRENA0 ,Interrupt Set/Clear Enable Bit" "Disabled,Enabled"
|
|
tree.end
|
|
tree "Interrupt Pending Registers"
|
|
group.long 0x200++0x03
|
|
line.long 0x00 "SET/CLRPEN,Interrupt Set/Clear Pending Register"
|
|
setclrfld.long 0x00 31. 0x00 31. 0x80 31. " SET/CLRPEN31 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 30. 0x00 30. 0x80 30. " SET/CLRPEN30 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 29. 0x00 29. 0x80 29. " SET/CLRPEN29 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 28. 0x00 28. 0x80 28. " SET/CLRPEN28 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 27. 0x00 27. 0x80 27. " SET/CLRPEN27 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 26. 0x00 26. 0x80 26. " SET/CLRPEN26 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 25. 0x00 25. 0x80 25. " SET/CLRPEN25 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 24. 0x00 24. 0x80 24. " SET/CLRPEN24 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 23. 0x00 23. 0x80 23. " SET/CLRPEN23 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 22. 0x00 22. 0x80 22. " SET/CLRPEN22 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 21. 0x00 21. 0x80 21. " SET/CLRPEN21 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 20. 0x00 20. 0x80 20. " SET/CLRPEN20 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 19. 0x00 19. 0x80 19. " SET/CLRPEN19 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 18. 0x00 18. 0x80 18. " SET/CLRPEN18 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 17. 0x00 17. 0x80 17. " SET/CLRPEN17 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 16. 0x00 16. 0x80 16. " SET/CLRPEN16 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 15. 0x00 15. 0x80 15. " SET/CLRPEN15 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 14. 0x00 14. 0x80 14. " SET/CLRPEN14 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 13. 0x00 13. 0x80 13. " SET/CLRPEN13 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 12. 0x00 12. 0x80 12. " SET/CLRPEN12 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 11. 0x00 11. 0x80 11. " SET/CLRPEN11 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 10. 0x00 10. 0x80 10. " SET/CLRPEN10 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 9. 0x00 9. 0x80 9. " SET/CLRPEN9 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 8. 0x00 8. 0x80 8. " SET/CLRPEN8 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 7. 0x00 7. 0x80 7. " SET/CLRPEN7 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 6. 0x00 6. 0x80 6. " SET/CLRPEN6 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 5. 0x00 5. 0x80 5. " SET/CLRPEN5 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 4. 0x00 4. 0x80 4. " SET/CLRPEN4 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 3. 0x00 3. 0x80 3. " SET/CLRPEN3 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 2. 0x00 2. 0x80 2. " SET/CLRPEN2 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
textline " "
|
|
setclrfld.long 0x00 1. 0x00 1. 0x80 1. " SET/CLRPEN1 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
setclrfld.long 0x00 0. 0x00 0. 0x80 0. " SET/CLRPEN0 ,Interrupt Set/Clear Pending" "Not pending,Pending"
|
|
tree.end
|
|
width 6.
|
|
tree "Interrupt Priority Registers"
|
|
group.long 0x400++0x1F
|
|
line.long 0x00 "INT0,Interrupt Priority Register"
|
|
bitfld.long 0x00 30.--31. " IP_3 ,Priority of interrupt 3" "0,1,2,3"
|
|
bitfld.long 0x00 22.--23. " IP_2 ,Priority of interrupt 2" "0,1,2,3"
|
|
bitfld.long 0x00 14.--15. " IP_1 ,Priority of interrupt 1" "0,1,2,3"
|
|
bitfld.long 0x00 6.--7. " IP_0 ,Priority of interrupt 0" "0,1,2,3"
|
|
line.long 0x04 "INT1,Interrupt Priority Register"
|
|
bitfld.long 0x04 30.--31. " IP_7 ,Priority of interrupt 7" "0,1,2,3"
|
|
bitfld.long 0x04 22.--23. " IP_6 ,Priority of interrupt 6" "0,1,2,3"
|
|
bitfld.long 0x04 14.--15. " IP_5 ,Priority of interrupt 5" "0,1,2,3"
|
|
bitfld.long 0x04 6.--7. " IP_4 ,Priority of interrupt 4" "0,1,2,3"
|
|
line.long 0x08 "INT2,Interrupt Priority Register"
|
|
bitfld.long 0x08 30.--31. " IP_11 ,Priority of interrupt 11" "0,1,2,3"
|
|
bitfld.long 0x08 22.--23. " IP_10 ,Priority of interrupt 10" "0,1,2,3"
|
|
bitfld.long 0x08 14.--15. " IP_9 ,Priority of interrupt 9" "0,1,2,3"
|
|
bitfld.long 0x08 6.--7. " IP_8 ,Priority of interrupt 8" "0,1,2,3"
|
|
line.long 0x0C "INT3,Interrupt Priority Register"
|
|
bitfld.long 0x0C 30.--31. " IP_15 ,Priority of interrupt 15" "0,1,2,3"
|
|
bitfld.long 0x0C 22.--23. " IP_14 ,Priority of interrupt 14" "0,1,2,3"
|
|
bitfld.long 0x0C 14.--15. " IP_13 ,Priority of interrupt 13" "0,1,2,3"
|
|
bitfld.long 0x0C 6.--7. " IP_12 ,Priority of interrupt 12" "0,1,2,3"
|
|
line.long 0x10 "INT4,Interrupt Priority Register"
|
|
bitfld.long 0x10 30.--31. " IP_19 ,Priority of interrupt 19" "0,1,2,3"
|
|
bitfld.long 0x10 22.--23. " IP_18 ,Priority of interrupt 18" "0,1,2,3"
|
|
bitfld.long 0x10 14.--15. " IP_17 ,Priority of interrupt 17" "0,1,2,3"
|
|
bitfld.long 0x10 6.--7. " IP_16 ,Priority of interrupt 16" "0,1,2,3"
|
|
line.long 0x14 "INT5,Interrupt Priority Register"
|
|
bitfld.long 0x14 30.--31. " IP_23 ,Priority of interrupt 23" "0,1,2,3"
|
|
bitfld.long 0x14 22.--23. " IP_22 ,Priority of interrupt 22" "0,1,2,3"
|
|
bitfld.long 0x14 14.--15. " IP_21 ,Priority of interrupt 21" "0,1,2,3"
|
|
bitfld.long 0x14 6.--7. " IP_20 ,Priority of interrupt 20" "0,1,2,3"
|
|
line.long 0x18 "INT6,Interrupt Priority Register"
|
|
bitfld.long 0x18 30.--31. " IP_27 ,Priority of interrupt 27" "0,1,2,3"
|
|
bitfld.long 0x18 22.--23. " IP_26 ,Priority of interrupt 26" "0,1,2,3"
|
|
bitfld.long 0x18 14.--15. " IP_25 ,Priority of interrupt 25" "0,1,2,3"
|
|
bitfld.long 0x18 6.--7. " IP_24 ,Priority of interrupt 24" "0,1,2,3"
|
|
line.long 0x1C "INT7,Interrupt Priority Register"
|
|
bitfld.long 0x1C 30.--31. " IP_31 ,Priority of interrupt 31" "0,1,2,3"
|
|
bitfld.long 0x1C 22.--23. " IP_30 ,Priority of interrupt 30" "0,1,2,3"
|
|
bitfld.long 0x1C 14.--15. " IP_29 ,Priority of interrupt 29" "0,1,2,3"
|
|
bitfld.long 0x1C 6.--7. " IP_28 ,Priority of interrupt 28" "0,1,2,3"
|
|
tree.end
|
|
width 0x0B
|
|
else
|
|
newline
|
|
textline "COREDEBUG component base address not specified"
|
|
newline
|
|
endif
|
|
tree.end
|
|
tree "Debug"
|
|
tree "Core Debug"
|
|
sif COMPonent.AVAILABLE("COREDEBUG")
|
|
base CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))
|
|
width 0xA
|
|
group.long 0xD30++0x03
|
|
line.long 0x00 "DFSR,Data Fault Status Register"
|
|
eventfld.long 0x00 4. " EXTERNAL ,External debug request flag" "No occurred,Occurred"
|
|
eventfld.long 0x00 3. " VCATCH ,Vector catch flag" "No occurred,Occurred"
|
|
textline " "
|
|
eventfld.long 0x00 2. " DWTRAP ,Data Watchpoint flag" "No match,Match"
|
|
textline " "
|
|
eventfld.long 0x00 1. " BKPT ,BKPT flag" "No match,Match"
|
|
eventfld.long 0x00 0. " HALTED ,Halt request flag" "No request,Request"
|
|
if (CORENAME()=="CORTEXM1")
|
|
if (((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xDF0))&0x01)==0x00)
|
|
group.long 0xDF0++0x03
|
|
line.long 0x00 "DHCSR,Debug Halting Control and Status Register"
|
|
bitfld.long 0x00 31. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 30. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 29. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 28. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 27. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 26. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 25. " S_RESET_ST/DBGKEY ,Core Reset/Debug Key" "No reset,Reset"
|
|
bitfld.long 0x00 24. " S_RETIRE_ST/DBGKEY ,Instruction completed since last read/Debug Key" "Not completed,Completed"
|
|
textline " "
|
|
bitfld.long 0x00 23. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 22. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 21. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 20. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 19. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 18. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 17. " S_HALT/DBGKEY ,Core Halted Status/Debug Key" "Not halted,Halted"
|
|
bitfld.long 0x00 16. " S_REGRDY/DBGKEY ,Register R/W on the Debug Core Register Selector/Debug Key" "Not available,Available"
|
|
textline " "
|
|
textline " "
|
|
textfld " "
|
|
bitfld.long 0x00 0. " C_DEBUGEN ,Debug Enable" "Disabled,Enabled"
|
|
else
|
|
group.long 0xDF0++0x03
|
|
line.long 0x00 "DHCSR,Debug Halting Control and Status Register"
|
|
bitfld.long 0x00 31. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 30. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 29. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 28. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 27. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 26. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 25. " S_RESET_ST/DBGKEY ,Core Reset/Debug Key" "No reset,Reset"
|
|
bitfld.long 0x00 24. " S_RETIRE_ST/DBGKEY ,Instruction completed since last read/Debug Key" "Not read,Read"
|
|
textline " "
|
|
bitfld.long 0x00 23. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 22. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 21. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 20. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 19. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 18. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 17. " S_HALT/DBGKEY ,Core Halted Status/Debug Key" "Not halted,Halted"
|
|
bitfld.long 0x00 16. " S_REGRDY/DBGKEY ,Register R/W on the Debug Core Register Selector/Debug Key" "Not available,Available"
|
|
textline " "
|
|
bitfld.long 0x00 3. " C_MASKINTS ,Interrupts Mask" "Not masked,Masked"
|
|
bitfld.long 0x00 2. " C_STEP ,Steps the core in halted debug" "Not halted,Halted"
|
|
textline " "
|
|
bitfld.long 0x00 1. " C_HALT ,Core Halted" "Not halted,Halted"
|
|
bitfld.long 0x00 0. " C_DEBUGEN ,Debug Enable" "Disabled,Enabled"
|
|
endif
|
|
else
|
|
if (((per.l(CONvert.ADDRESSTODUALPORT(COMPonent.BASE("COREDEBUG",-1))+0xDF0))&0x01)==0x00)
|
|
group.long 0xDF0++0x03
|
|
line.long 0x00 "DHCSR,Debug Halting Control and Status Register"
|
|
bitfld.long 0x00 31. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 30. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 29. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 28. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 27. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 26. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 25. " S_RESET_ST/DBGKEY ,Core Reset/Debug Key" "No reset,Reset"
|
|
bitfld.long 0x00 24. " S_RETIRE_ST/DBGKEY ,Instruction completed since last read/Debug Key" "Not completed,Completed"
|
|
textline " "
|
|
bitfld.long 0x00 23. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 22. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 21. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 20. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 19. " S_LOCKUP/DBGKEY ,Core Lockup Status/Debug Key" "Not locked up,Locked up"
|
|
bitfld.long 0x00 18. " S_SLEEP/DBGKEY ,Core Sleep Status/Debug Key" "Not sleeping,Sleeping"
|
|
textline " "
|
|
bitfld.long 0x00 17. " S_HALT/DBGKEY ,Core Halted Status/Debug Key" "Not halted,Halted"
|
|
bitfld.long 0x00 16. " S_REGRDY/DBGKEY ,Register R/W on the Debug Core Register Selector/Debug Key" "Not available,Available"
|
|
textline " "
|
|
textline " "
|
|
textfld " "
|
|
bitfld.long 0x00 0. " C_DEBUGEN ,Debug Enable" "Disabled,Enabled"
|
|
else
|
|
group.long 0xDF0++0x03
|
|
line.long 0x00 "DHCSR,Debug Halting Control and Status Register"
|
|
bitfld.long 0x00 31. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 30. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 29. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 28. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 27. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 26. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 25. " S_RESET_ST/DBGKEY ,Core Reset/Debug Key" "No reset,Reset"
|
|
bitfld.long 0x00 24. " S_RETIRE_ST/DBGKEY ,Instruction completed since last read/Debug Key" "Not read,Read"
|
|
textline " "
|
|
bitfld.long 0x00 23. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 22. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 21. " DBGKEY ,Debug Key" "0,1"
|
|
bitfld.long 0x00 20. " DBGKEY ,Debug Key" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 19. " S_LOCKUP/DBGKEY ,Core Lockup Status/Debug Key" "Not locked up,Locked up"
|
|
bitfld.long 0x00 18. " S_SLEEP/DBGKEY ,Core Sleep Status/Debug Key" "Not sleeping,Sleeping"
|
|
textline " "
|
|
bitfld.long 0x00 17. " S_HALT/DBGKEY ,Core Halted Status/Debug Key" "Not halted,Halted"
|
|
bitfld.long 0x00 16. " S_REGRDY/DBGKEY ,Register R/W on the Debug Core Register Selector/Debug Key" "Not available,Available"
|
|
textline " "
|
|
bitfld.long 0x00 3. " C_MASKINTS ,Interrupts Mask" "Not masked,Masked"
|
|
bitfld.long 0x00 2. " C_STEP ,Steps the core in halted debug" "Not halted,Halted"
|
|
textline " "
|
|
bitfld.long 0x00 1. " C_HALT ,Core Halted" "Not halted,Halted"
|
|
bitfld.long 0x00 0. " C_DEBUGEN ,Debug Enable" "Disabled,Enabled"
|
|
endif
|
|
endif
|
|
wgroup.long 0xDF4++0x03
|
|
line.long 0x00 "DCRSR,Debug Core Selector Register"
|
|
bitfld.long 0x00 16. " REGWnR ,Register Read/Write" "Read,Write"
|
|
bitfld.long 0x00 0.--4. " REGSEL ,Register Selection" "R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,Current SP,LR,DebugReturnAddress,xPSR Flags,MSP,PSP,Reserved,CONTROL[1]/PRIMASK[0],?..."
|
|
group.long 0xDF8++0x07
|
|
line.long 0x00 "DCRDR,Debug Core Register Data Register"
|
|
hexmask.long 0x00 0.--31. 1. " DATA ,Data for reading and writing registers to and from the processor"
|
|
line.long 0x04 "DEMCR,Debug Exception and Monitor Control Register"
|
|
bitfld.long 0x04 24. " DWTENA ,Global enable or disable for the DW unit" "Disabled,Enabled"
|
|
bitfld.long 0x04 10. " VC_HARDERR ,Debug trap on a Hard Fault" "No error,Error"
|
|
textline " "
|
|
bitfld.long 0x04 0. " VC_CORERESET ,Reset Vector Catch" "No reset,Reset"
|
|
width 0x0B
|
|
else
|
|
newline
|
|
textline "COREDEBUG component base address not specified"
|
|
newline
|
|
endif
|
|
tree.end
|
|
tree "Breakpoint Unit (BPU)"
|
|
sif COMPonent.AVAILABLE("BPU")
|
|
base CONvert.ADDRESSTODUALPORT(COMPonent.BASE("BPU",-1))
|
|
width 8.
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "BP_CTRL,Breakpoint Control Register"
|
|
bitfld.long 0x00 4.--7. " NUM_CODE1 ,Number of comparators" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
bitfld.long 0x00 1. " KEY ,Key field" "No write,Write"
|
|
bitfld.long 0x00 0. " ENABLE ,Breakpoint unit enable bit" "Disabled,Enabled"
|
|
group.long 0x8++0x03
|
|
line.long 0x00 "B_COMP0,Breakpoint Comparator Registers 0"
|
|
bitfld.long 0x00 30.--31. " BP_MATCH ,Happens when the COMP address is matched" "No matching,Lower halfword,Upper halfword,Both halfwords"
|
|
hexmask.long 0x00 2.--28. 2. " COMP ,Comparison address"
|
|
bitfld.long 0x00 0. " ENABLE ,Compare enable for Breakpoint Comparator Register 0" "Disabled,Enabled"
|
|
group.long 0xC++0x03
|
|
line.long 0x00 "B_COMP1,Breakpoint Comparator Registers 1"
|
|
bitfld.long 0x00 30.--31. " BP_MATCH ,Happens when the COMP address is matched" "No matching,Lower halfword,Upper halfword,Both halfwords"
|
|
hexmask.long 0x00 2.--28. 2. " COMP ,Comparison address"
|
|
bitfld.long 0x00 0. " ENABLE ,Compare enable for Breakpoint Comparator Register 1" "Disabled,Enabled"
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "B_COMP2,Breakpoint Comparator Registers 2"
|
|
bitfld.long 0x00 30.--31. " BP_MATCH ,Happens when the COMP address is matched" "No matching,Lower halfword,Upper halfword,Both halfwords"
|
|
hexmask.long 0x00 2.--28. 2. " COMP ,Comparison address"
|
|
bitfld.long 0x00 0. " ENABLE ,Compare enable for Breakpoint Comparator Register 2" "Disabled,Enabled"
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "B_COMP3,Breakpoint Comparator Registers 3"
|
|
bitfld.long 0x00 30.--31. " BP_MATCH ,Happens when the COMP address is matched" "No matching,Lower halfword,Upper halfword,Both halfwords"
|
|
hexmask.long 0x00 2.--28. 2. " COMP ,Comparison address"
|
|
bitfld.long 0x00 0. " ENABLE ,Compare enable for Breakpoint Comparator Register 3" "Disabled,Enabled"
|
|
else
|
|
newline
|
|
textline "BPU component base address not specified"
|
|
newline
|
|
endif
|
|
tree.end
|
|
tree "Data Watchpoint and Trace Unit (DWT)"
|
|
sif COMPonent.AVAILABLE("DWT")
|
|
base CONvert.ADDRESSTODUALPORT(COMPonent.BASE("DWT",-1))
|
|
width 14.
|
|
rgroup.long 0x00++0x03
|
|
line.long 0x00 "DW_CTRL,DW Control Register "
|
|
bitfld.long 0x00 28.--31. " NUM_CODE1 ,Number of comparators" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
rgroup.long 0x1c++0x03
|
|
line.long 0x00 "DW_PCSR,DW Program Counter Sample Register"
|
|
hexmask.long 0x00 0.--31. 1. " EIASAMPLE ,Execution instruction address sample or 0xFFFFFFFF"
|
|
group.long 0x20++0x0b
|
|
line.long 0x00 "DW_COMP0,DW Comparator Register 0"
|
|
hexmask.long 0x00 0.--31. 1. " COMP1 ,Compare against PC or the data address"
|
|
line.long 0x04 "DW_MASK0,DW Mask Register 0"
|
|
hexmask.long.byte 0x04 0.--4. 1. " MASK ,Mask on data address when matching against COMP"
|
|
line.long 0x08 "DW_FUNCTION0,DW Function Register 0"
|
|
bitfld.long 0x08 24. " MATCHED ,Comparator match" "No match,Match"
|
|
bitfld.long 0x08 0.--3. " FUNCTION , Settings for DW Function Registers" "Disabled,Reserved,Reserved,Reserved,On PC match,Read address,Write address,R/W address,?..."
|
|
group.long 0x30++0x0b
|
|
line.long 0x00 "DW_COMP1,DW Comparator Register 1"
|
|
hexmask.long 0x00 0.--31. 1. " COMP ,Compare against PC or the data address"
|
|
line.long 0x04 "DW_MASK1,DW Mask Register 1 "
|
|
hexmask.long.byte 0x04 0.--4. 1. " MASK ,Mask on data address when matching against COMP"
|
|
line.long 0x08 "DW_FUNCTION1,DW Function Register 1"
|
|
bitfld.long 0x08 24. " MATCHED ,Comparator match" "No match,Match"
|
|
bitfld.long 0x08 0.--3. " FUNCTION , Settings for DW Function Registers" "Disabled,Reserved,Reserved,Reserved,On PC match,Read address,Write address,R/W address,?..."
|
|
else
|
|
newline
|
|
textline "DWT component base address not specified"
|
|
newline
|
|
endif
|
|
tree.end
|
|
tree.end
|
|
AUTOINDENT.POP
|
|
tree.end
|
|
tree "DSU (Device Service Unit)"
|
|
base ad:0x41002000
|
|
width 9.
|
|
wgroup.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14")&&!cpuis("ATSAMD20*")&&!cpuis("ATSAMC20N*")&&!cpuis("ATSAMC21N*"))
|
|
bitfld.byte 0x00 7. " SMSA ,Start memory stream access" "No effect,Start"
|
|
bitfld.byte 0x00 6. " ARR ,Auxiliary row read" "No effect,Start"
|
|
newline
|
|
endif
|
|
bitfld.byte 0x00 4. " CE ,Chip erase" "No effect,Start"
|
|
bitfld.byte 0x00 3. " MBIST ,Memory built-in self-test" "No effect,Start"
|
|
sif (!cpuis("ATSAML22*")&&!cpuis("ATSAMC20N*")&&!cpuis("ATSAMC21N*"))
|
|
newline
|
|
bitfld.byte 0x00 2. " CRC ,32-bit cyclic redundancy check" "No effect,Start"
|
|
elif (cpuis("ATSAMC20N*")||cpuis("ATSAMC21N*"))
|
|
bitfld.byte 0x00 1. " CRC ,32-bit cyclic redundancy check" "No effect,Start"
|
|
endif
|
|
newline
|
|
bitfld.byte 0x00 0. " SWRST ,Software reset" "No effect,Reset"
|
|
group.byte 0x01++0x00
|
|
line.byte 0x00 "STATUSA,Status A"
|
|
eventfld.byte 0x00 4. " PERR ,Protection error" "No error,Error"
|
|
eventfld.byte 0x00 3. " FAIL ,Failure" "Not detected,Detected"
|
|
eventfld.byte 0x00 2. " BERR ,Bus error" "No error,Error"
|
|
newline
|
|
eventfld.byte 0x00 1. " CRSTEXT ,CPU reset phase extension" "Not detected,Detected"
|
|
eventfld.byte 0x00 0. " DONE ,Done" "Not completed,Completed"
|
|
newline
|
|
hgroup.byte 0x02++0x00
|
|
hide.byte 0x00 "STATUSB,Status B"
|
|
in
|
|
newline
|
|
sif cpuis("ATSAML21*")||cpuis("ATSAML22*")
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 0.--1. " AMOD ,Access mode" "ARRAY,EEPROM,?..."
|
|
elif (cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD21*")||cpuis("ATSAMD20*"))
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long 0x00 2.--31. 0x04 " ADDR ,Address for memory operations"
|
|
bitfld.long 0x00 0.--1. " AMOD ,Access mode" "ARRAY,EEPROM,?..."
|
|
elif cpuis("ATSAMC2?N*")
|
|
if (((per.b(ad:0x41002000))&0x02)==0x00)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long 0x00 2.--31. 0x04 " ADDR ,Address for memory operations"
|
|
bitfld.long 0x00 0.--1. " AMOD ,Access mode" "ARRAY,EEPROM,?..."
|
|
else
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long 0x00 2.--31. 0x04 " ADDR ,Address for memory operations"
|
|
bitfld.long 0x00 0.--1. " AMOD ,Access mode" "Exit on error,Pause on error,?..."
|
|
endif
|
|
elif cpuis("ATSAMC2*")||cpuis("ATSAMDA1*")||cpuis("ATSAMD51*")||cpuis("ATSAME5*")
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long 0x00 2.--31. 0x04 " ADDR ,Address for memory operations"
|
|
bitfld.long 0x00 0.--1. " AMOD ,Access mode (CRC32 / MBIST operation)" "ARRAY/exit-on-error,EEPROM/pause-on-error,?..."
|
|
else
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long 0x00 2.--31. 0x04 " ADDR ,Address for memory operations"
|
|
endif
|
|
group.long 0x08++0x07
|
|
line.long 0x00 "LENGTH,Length"
|
|
hexmask.long 0x00 2.--31. 1. " LENGTH ,Length"
|
|
line.long 0x04 "DATA,Data"
|
|
newline
|
|
hgroup.long 0x10++0x03
|
|
hide.long 0x00 "DCC0,Debug Communication Channel 0"
|
|
in
|
|
newline
|
|
hgroup.long 0x14++0x03
|
|
hide.long 0x00 "DCC1,Debug Communication Channel 1"
|
|
in
|
|
newline
|
|
rgroup.long 0x18++0x03
|
|
line.long 0x00 "DID,Device Identification"
|
|
hexmask.long.byte 0x00 28.--31. 1. " PROCESSOR ,Processor"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAML21*")||cpuis("ATSAML22*")||cpuis("ATSAMC2*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD20*")||cpuis("ATSAMDA1*")||cpuis("ATSAMD51*")||cpuis("ATSAME5*"))
|
|
newline
|
|
hexmask.long.byte 0x00 23.--27. 1. " FAMILY ,Product family"
|
|
hexmask.long.byte 0x00 16.--21. 1. " SERIES ,Product series"
|
|
else
|
|
newline
|
|
hexmask.long.byte 0x00 24.--27. 1. " FAMILY ,Product family"
|
|
hexmask.long.byte 0x00 16.--23. 1. " SERIES ,Product series"
|
|
endif
|
|
newline
|
|
hexmask.long.byte 0x00 12.--15. 1. " DIE ,Die identification"
|
|
hexmask.long.byte 0x00 8.--11. 1. " REVISION ,Revision"
|
|
sif cpu()=="ATSAMD21E15L"||cpu()=="ATSAMD21E16L"||cpu()=="ATSAMD21G16L"
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SAMD21E16L,SAMD21E15L,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SAMD21G16L,?..."
|
|
elif cpuis("ATSAMD21*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMD21J18A,SAMD21J17A,SAMD21J16A,SAMD21J15A,,SAMD21G18A,SAMD21G17A,SAMD21G16A,SAMD21G15A,,SAMD21E18A,SAMD21E17A,SAMD21E16A,SAMD21E15A,,SAMD21G18A (WLCSP),SAMD21G17A (WLCSP),,,,,,,,,,,,,,,,SAMD21J16B,SAMD21J15B,,SAMD21G16B,SAMD21G15B,,SAMD21E16B,SAMD21E15B,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SAMD21E16B (WLCSP),SAMD21E15B (WLCSP),,,,,,,,,,,,SAMD21E16C (WLCSP),SAMD21E15C (WLCSP),?..."
|
|
elif cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD51*")||cpuis("ATSAME5*")
|
|
newline
|
|
hexmask.long.byte 0x00 0.--7. 1. " DEVSEL ,Device selection"
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMD09D14AM,,,,,,,SAMD09C13A,?..."
|
|
elif cpuis("ATSAMR21*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMD21J18A,SAMD21J17A,SAMD21J16A,SAMD21J15A,,SAMD21G18A,SAMD21G17A,SAMD21G16A,SAMD21G15A,,SAMD21E18A,SAMD21E17A,SAMD20E16A,SAMD20E15A,?..."
|
|
elif cpuis("ATSAMD10*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMD10D14AM,SAMD10D13AM,,SAMD10D14ASS,SAMD10D13ASS,,SAMD10D14A,SAMD10D13A,?..."
|
|
elif cpuis("ATSAMD11*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMD11D14AM,,,SAMD11D14ASS,,,SAMD11D14A,?..."
|
|
elif cpuis("ATSAML21*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DSEL ,Device selection" "SAML21J18B,SAML21J17B,SAML21J16B,,,SAML21G18B,SAML21G17B,SAML21G16B,,SAML21E18B,SAML21E17B,SAML21E16B,SAML21E15B,?..."
|
|
elif cpuis("ATSAML22*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DSEL ,Device selection" "L22N18,L22N17,L22N16,,,L22J18,L22J17,L22J16,,L22G18,L22G17,L22G16,?..."
|
|
elif cpuis("ATSAMD20*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMD20J18A,SAMD20J17A,SAMD20J16A,SAMD20J15A,SAMD20J14A,SAMD20G18A,SAMD20G17A,SAMD20G16A,SAMD20G15A,SAMD20G14A,SAMD20E18A,SAMD20E17A,SAMD20E16A,SAMD20E15A,SAMD20E14A,?..."
|
|
elif cpuis("ATSAMC21*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMC21J18A,SAMC21J17A,SAMC21J16A,SAMC21J15A,,SAMC21G18A,SAMC21G17A,SAMC21G16A,SAMC21G15A,,SAMC21E18A,SAMC21E17A,SAMC21E16A,SAMC21E15A,?..."
|
|
elif cpuis("ATSAMC20*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" "SAMC20J18A,SAMC20J17A,SAMC20J16A,SAMC20J15A,,SAMC20G18A,SAMC20G17A,SAMC20G16A,SAMC20G15A,,SAMC20E18A,SAMC20E17A,SAMC20E16A,SAMC20E15A,?..."
|
|
elif cpuis("ATSAMDA1*")
|
|
newline
|
|
bitfld.long 0x00 0.--7. " DEVSEL ,Device selection" ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SAMDA1J16A,SAMDA1J15A,SAMDA1J14A,SAMDA1G16A,SAMDA1G15A,SAMDA1G14A,SAMDA1E16A,SAMDA1E15A,SAMDA1E14A,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,SAMDA1J16B,SAMDA1J15B,SAMDA1J14B,SAMDA1G16B,SAMDA1G15B,SAMDA1G14B,SAMDA1E16B,SAMDA1E15B,SAMDA1E14B,?..."
|
|
endif
|
|
sif cpuis("ATSAMD51*")
|
|
group.long 0x1C++0x03
|
|
line.long 0x00 "CFG,Configuration"
|
|
bitfld.long 0x00 4. " ETBRAMEN ,Reserves 32kB of the RAM for Trace ETB RAM buffer" "Not reserved,Reserved"
|
|
bitfld.long 0x00 2.--3. " DCCDMALEVEL ,DMA trigger level" "DCC empty,DCC full,?..."
|
|
bitfld.long 0x00 0.--1. " LQOS ,Latency quality of service" "Background,Sensitive bandwidth,Sensitive latency,Critical latency"
|
|
width 11.
|
|
tree "MBIST Registers"
|
|
group.long 0x40++0x0F
|
|
line.long 0x00 "MBCTRL,MBIST Control"
|
|
bitfld.long 0x00 1. " ENABLE ,MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,MBIST software reset" "No reset,Reset"
|
|
line.long 0x04 "MBCONFIG,MBIST Configuration"
|
|
bitfld.long 0x04 7. " DBG ,Debug mode enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 6. " DEFRDMARGIN ,Default read margin force" "Not forced,Forced"
|
|
bitfld.long 0x04 0.--4. " ALGO ,MBIST algorithm" "Memory clear,Memory verify,Memory clear and verify,Address decoder,March LR,March SR,March SS,,CRC increasing address,CRC decreasing address,?..."
|
|
line.long 0x08 "MBWORD,MBIST Background Word"
|
|
line.long 0x0C "MBGSTAT,MBIST Global Status"
|
|
bitfld.long 0x0C 3. " CONFIGURED ,MBIST configuration sent" "Not sent,Sent"
|
|
bitfld.long 0x0C 2. " ERRINFO ,MBIST error info present" "Not present,Present"
|
|
bitfld.long 0x0C 1. " FAILED ,MBIST failed" "Not failed,Failed"
|
|
bitfld.long 0x0C 0. " ALLDONE ,MBIST completed" "Not completed,Completed"
|
|
rgroup.long 0x50++0x0F
|
|
line.long 0x00 "MBDFAIL,MBIST Fail Data"
|
|
line.long 0x04 "MBDEXP,MBIST Expected Data"
|
|
line.long 0x08 "MBAFAIL,MBIST Fail Address"
|
|
hexmask.long.word 0x08 0.--13. 0x01 " ADDR ,Error address"
|
|
line.long 0x0C "MBCONTEXT,MBIST Fail Context"
|
|
bitfld.long 0x0C 10. " PORT ,DPRAM port index" "0,1"
|
|
bitfld.long 0x0C 5.--9. " STEP ,Algorithm step" ",,DOWN_ROW1,UP_R1W0R0W1,UP_R1W0,UP_R0W1R1W0,UP_R0,UP_R0R0W0R0W1,UP_R1R1W1R1W0,DOWN_R0R0W0R0W1,DOWN_R1R1W1R1W0,,UP_R0R0,,DOWN_R1W0R0W1,DOWN_R1R1,?..."
|
|
bitfld.long 0x0C 0.--4. " SUBSTEP ,Algorithm sub-step" ",R0_1,,R1_1,,R0_2,,R1_2,,R0_3,,R1_3,?..."
|
|
group.long 0x60++0x03
|
|
line.long 0x00 "MBENABLE0,MBIST Memory Enable 0"
|
|
bitfld.long 0x00 28. " ENABLE28 ,Memory 28 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 27. " ENABLE27 ,Memory 27 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 26. " ENABLE26 ,Memory 26 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 25. " ENABLE25 ,Memory 25 MBIST enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.long 0x00 24. " ENABLE24 ,Memory 24 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 23. " ENABLE23 ,Memory 23 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 22. " ENABLE22 ,Memory 22 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 21. " ENABLE21 ,Memory 21 MBIST enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.long 0x00 20. " ENABLE20 ,Memory 20 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 19. " ENABLE19 ,Memory 19 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 18. " ENABLE18 ,Memory 18 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 17. " ENABLE17 ,Memory 17 MBIST enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.long 0x00 16. " ENABLE16 ,Memory 16 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 15. " ENABLE15 ,Memory 15 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14. " ENABLE14 ,Memory 14 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 13. " ENABLE13 ,Memory 13 MBIST enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.long 0x00 12. " ENABLE12 ,Memory 12 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 11. " ENABLE11 ,Memory 11 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 10. " ENABLE10 ,Memory 10 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 9. " ENABLE9 ,Memory 9 MBIST enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.long 0x00 8. " ENABLE8 ,Memory 8 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 7. " ENABLE7 ,Memory 7 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 6. " ENABLE6 ,Memory 6 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 5. " ENABLE5 ,Memory 5 MBIST enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.long 0x00 4. " ENABLE4 ,Memory 4 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 3. " ENABLE3 ,Memory 3 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 2. " ENABLE2 ,Memory 2 MBIST enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 1. " ENABLE1 ,Memory 1 MBIST enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.long 0x00 0. " ENABLE0 ,Memory 0 MBIST enable" "Disabled,Enabled"
|
|
rgroup.long 0x68++0x03
|
|
line.long 0x00 "MBBUSY0,MBIST Memory Busy 0"
|
|
bitfld.long 0x00 28. " BUSY28 ,Memory 28 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 27. " BUSY27 ,Memory 27 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 26. " BUSY26 ,Memory 26 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 25. " BUSY25 ,Memory 25 MBIST busy" "Not busy,Busy"
|
|
newline
|
|
bitfld.long 0x00 24. " BUSY24 ,Memory 24 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 23. " BUSY23 ,Memory 23 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 22. " BUSY22 ,Memory 22 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 21. " BUSY21 ,Memory 21 MBIST busy" "Not busy,Busy"
|
|
newline
|
|
bitfld.long 0x00 20. " BUSY20 ,Memory 20 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 19. " BUSY19 ,Memory 19 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 18. " BUSY18 ,Memory 18 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 17. " BUSY17 ,Memory 17 MBIST busy" "Not busy,Busy"
|
|
newline
|
|
bitfld.long 0x00 16. " BUSY16 ,Memory 16 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 15. " BUSY15 ,Memory 15 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 14. " BUSY14 ,Memory 14 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 13. " BUSY13 ,Memory 13 MBIST busy" "Not busy,Busy"
|
|
newline
|
|
bitfld.long 0x00 12. " BUSY12 ,Memory 12 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 11. " BUSY11 ,Memory 11 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 10. " BUSY10 ,Memory 10 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 9. " BUSY9 ,Memory 9 MBIST busy" "Not busy,Busy"
|
|
newline
|
|
bitfld.long 0x00 8. " BUSY8 ,Memory 8 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 7. " BUSY7 ,Memory 7 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 6. " BUSY6 ,Memory 6 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 5. " BUSY5 ,Memory 5 MBIST busy" "Not busy,Busy"
|
|
newline
|
|
bitfld.long 0x00 4. " BUSY4 ,Memory 4 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 3. " BUSY3 ,Memory 3 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 2. " BUSY2 ,Memory 2 MBIST busy" "Not busy,Busy"
|
|
bitfld.long 0x00 1. " BUSY1 ,Memory 1 MBIST busy" "Not busy,Busy"
|
|
newline
|
|
bitfld.long 0x00 0. " BUSY0 ,Memory 0 MBIST busy" "Not busy,Busy"
|
|
group.long 0x70++0x03
|
|
line.long 0x00 "MBSTATUS0,MBIST Memory Status 0"
|
|
bitfld.long 0x00 28. " STATUS28 ,Memory 28 MBIST status" "0,1"
|
|
bitfld.long 0x00 27. " STATUS27 ,Memory 27 MBIST status" "0,1"
|
|
bitfld.long 0x00 26. " STATUS26 ,Memory 26 MBIST status" "0,1"
|
|
bitfld.long 0x00 25. " STATUS25 ,Memory 25 MBIST status" "0,1"
|
|
newline
|
|
bitfld.long 0x00 24. " STATUS24 ,Memory 24 MBIST status" "0,1"
|
|
bitfld.long 0x00 23. " STATUS23 ,Memory 23 MBIST status" "0,1"
|
|
bitfld.long 0x00 22. " STATUS22 ,Memory 22 MBIST status" "0,1"
|
|
bitfld.long 0x00 21. " STATUS21 ,Memory 21 MBIST status" "0,1"
|
|
newline
|
|
bitfld.long 0x00 20. " STATUS20 ,Memory 20 MBIST status" "0,1"
|
|
bitfld.long 0x00 19. " STATUS19 ,Memory 19 MBIST status" "0,1"
|
|
bitfld.long 0x00 18. " STATUS18 ,Memory 18 MBIST status" "0,1"
|
|
bitfld.long 0x00 17. " STATUS17 ,Memory 17 MBIST status" "0,1"
|
|
newline
|
|
bitfld.long 0x00 16. " STATUS16 ,Memory 16 MBIST status" "0,1"
|
|
bitfld.long 0x00 15. " STATUS15 ,Memory 15 MBIST status" "0,1"
|
|
bitfld.long 0x00 14. " STATUS14 ,Memory 14 MBIST status" "0,1"
|
|
bitfld.long 0x00 13. " STATUS13 ,Memory 13 MBIST status" "0,1"
|
|
newline
|
|
bitfld.long 0x00 12. " STATUS12 ,Memory 12 MBIST status" "0,1"
|
|
bitfld.long 0x00 11. " STATUS11 ,Memory 11 MBIST status" "0,1"
|
|
bitfld.long 0x00 10. " STATUS10 ,Memory 10 MBIST status" "0,1"
|
|
bitfld.long 0x00 9. " STATUS9 ,Memory 9 MBIST status" "0,1"
|
|
newline
|
|
bitfld.long 0x00 8. " STATUS8 ,Memory 8 MBIST status" "0,1"
|
|
bitfld.long 0x00 7. " STATUS7 ,Memory 7 MBIST status" "0,1"
|
|
bitfld.long 0x00 6. " STATUS6 ,Memory 6 MBIST status" "0,1"
|
|
bitfld.long 0x00 5. " STATUS5 ,Memory 5 MBIST status" "0,1"
|
|
newline
|
|
bitfld.long 0x00 4. " STATUS4 ,Memory 4 MBIST status" "0,1"
|
|
bitfld.long 0x00 3. " STATUS3 ,Memory 3 MBIST status" "0,1"
|
|
bitfld.long 0x00 2. " STATUS2 ,Memory 2 MBIST status" "0,1"
|
|
bitfld.long 0x00 1. " STATUS1 ,Memory 1 MBIST status" "0,1"
|
|
newline
|
|
bitfld.long 0x00 0. " STATUS0 ,Memory 0 MBIST status" "0,1"
|
|
tree.end
|
|
newline
|
|
width 9.
|
|
endif
|
|
group.long 0xF0++0x07
|
|
line.long 0x00 "DCFG0,Device Configuration"
|
|
line.long 0x04 "DCFG1,Device Configuration"
|
|
rgroup.long 0x1000++0x0B
|
|
line.long 0x00 "ENTRY0,CoreSight ROM Table Entry 0"
|
|
hexmask.long.tbyte 0x00 12.--31. 0x10 " ADDOFF ,Address offset"
|
|
bitfld.long 0x00 1. " FMT ,Format" ",32-bit ROM table"
|
|
bitfld.long 0x00 0. " EPRES ,Entry present" "Present,Not present"
|
|
line.long 0x04 "ENTRY1,CoreSight ROM Table Entry 1"
|
|
hexmask.long.tbyte 0x04 12.--31. 0x10 " ADDOFF ,Address offset"
|
|
bitfld.long 0x04 1. " FMT ,Format" ",32-bit ROM table"
|
|
bitfld.long 0x04 0. " EPRES ,Entry present" "Present,Not present"
|
|
line.long 0x08 "END,CoreSight ROM Table End"
|
|
newline
|
|
rgroup.long 0x1FCC++0x07
|
|
line.long 0x00 "MEMTYPE,CoreSight ROM Table Memory Type"
|
|
bitfld.long 0x00 0. " SMEMP ,System memory present" "Not present,Present"
|
|
line.long 0x04 "PID4,Peripheral Identification 4"
|
|
hexmask.long.byte 0x04 4.--7. 1. " FKBC ,4KB count"
|
|
hexmask.long.byte 0x04 0.--3. 1. " JEPCC ,JEP-106 continuation code"
|
|
rgroup.long 0x1FE0++0x03
|
|
line.long 0x00 "PID0,Peripheral Identification 0"
|
|
hexmask.long.byte 0x00 0.--7. 1. " PARTNBL ,Part number low"
|
|
sif cpuis("ATSAMC20N*")||cpuis("ATSAMC21N*")
|
|
if ((((per.l(ad:0x41002000+0x1FE4))&0xF0)==0xF0)&&(((per.l(ad:0x41002000+0x1FE8))&0x07)==0x01))
|
|
rgroup.long 0x1FE4++0x07
|
|
line.long 0x00 "PID1,Peripheral Identification 1"
|
|
bitfld.long 0x00 4.--7. " JEPIDCL ,Low part of the JEP-106 identity code" ",,,,,,,,,,,,,,,Atmel JEP-106"
|
|
hexmask.long.byte 0x00 0.--3. 1. " PARTNBH ,Part number high"
|
|
line.long 0x04 "PID2,Peripheral Identification 2"
|
|
hexmask.long.byte 0x04 4.--7. 1. " REVISION ,Revision number"
|
|
bitfld.long 0x04 3. " JEPU ,JEP-106 identity code is used" ",JEP-106"
|
|
bitfld.long 0x04 0.--2. " JEPIDCH ,JEP-106 identity code high" ",Atmel JEP-106,?..."
|
|
else
|
|
rgroup.long 0x1FE4++0x07
|
|
line.long 0x00 "PID1,Peripheral Identification 1"
|
|
bitfld.long 0x00 4.--7. " JEPIDCL ,Low part of the JEP-106 identity code" "?..."
|
|
hexmask.long.byte 0x00 0.--3. 1. " PARTNBH ,Part number high"
|
|
line.long 0x04 "PID2,Peripheral Identification 2"
|
|
hexmask.long.byte 0x04 4.--7. 1. " REVISION ,Revision number"
|
|
bitfld.long 0x04 3. " JEPU ,JEP-106 identity code is used" ",JEP-106"
|
|
bitfld.long 0x04 0.--2. " JEPIDCH ,JEP-106 identity code high" "?..."
|
|
endif
|
|
else
|
|
rgroup.long 0x1FE4++0x07
|
|
line.long 0x00 "PID1,Peripheral Identification 1"
|
|
bitfld.long 0x00 4.--7. " JEPIDCL ,Low part of the JEP-106 identity code" ",,,,,,,,,,,,,,,Atmel JEP-106"
|
|
hexmask.long.byte 0x00 0.--3. 1. " PARTNBH ,Part number high"
|
|
line.long 0x04 "PID2,Peripheral Identification 2"
|
|
hexmask.long.byte 0x04 4.--7. 1. " REVISION ,Revision number"
|
|
bitfld.long 0x04 3. " JEPU ,JEP-106 identity code is used" ",JEP-106"
|
|
bitfld.long 0x04 0.--2. " JEPIDCH ,JEP-106 identity code high" ",Atmel JEP-106,?..."
|
|
endif
|
|
rgroup.long 0x1FEC++0x13
|
|
line.long 0x00 "PID3,Peripheral Identification 3"
|
|
hexmask.long.byte 0x00 4.--7. 1. " REVAND ,Revision number"
|
|
hexmask.long.byte 0x00 0.--3. 1. " CUSMOD ,ARM CUSMOD"
|
|
line.long 0x04 "CID0,Component Identification 0"
|
|
hexmask.long.byte 0x04 0.--7. 1. " PREAMBLE0 ,Preamble byte 0"
|
|
line.long 0x08 "CID1,Component Identification 1"
|
|
hexmask.long.byte 0x08 4.--7. 1. " CCLASS ,Component class"
|
|
hexmask.long.byte 0x08 0.--3. 1. " PREAMBLE ,Preamble"
|
|
line.long 0x0C "CID2,Component Identification 2"
|
|
hexmask.long.byte 0x0C 0.--7. 1. " PREAMBLE2 ,Preamble byte 2"
|
|
line.long 0x10 "CID3,Component Identification 3"
|
|
hexmask.long.byte 0x10 0.--7. 1. " PREAMBLE3 ,Preamble byte 3"
|
|
width 0x0B
|
|
tree.end
|
|
tree "GCLK (Generic Clock Controller)"
|
|
base ad:0x40000C00
|
|
width 9.
|
|
group.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
bitfld.byte 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
rgroup.byte 0x01++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy status" "Idle,Busy"
|
|
group.word 0x02++0x01
|
|
line.word 0x00 "CLKCTRL,Generic Clock Control"
|
|
bitfld.word 0x00 15. " WRTLOCK ,Write lock" "Not locked,Locked"
|
|
bitfld.word 0x00 14. " CLKEN ,Clock enable" "Disabled,Enabled"
|
|
textline " "
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMDA1*"))
|
|
bitfld.word 0x00 8.--11. " GEN ,Generic clock generator" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,Generic clock generator 8,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.word 0x00 8.--11. " GEN ,Generic clock generator" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,?..."
|
|
else
|
|
bitfld.word 0x00 8.--11. " GEN ,Generic clock generator" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,?..."
|
|
endif
|
|
textline " "
|
|
sif cpuis("ATSAMD20J*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,WDT,RTC,EIC,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TC0/TC1,TC2/TC3,TC4/TC5,TC6/TC7,ADC,AC_DIG,AC_ANA,DAC,PTC,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,,,TC2,ADC,?..."
|
|
elif cpu()=="ATSAMD21G16L"
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,,TCC0/TCC1,TCC2/TC3,TC4/TC5,TC6/TC7,ADC,AC_DIG,AC1_DIG,AC_ANA,AC1_ANA,DAC,?..."
|
|
elif cpu()=="ATSAMD21E15L"||cpu()=="ATSAMD21E16L"
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,,TCC0/TCC1,TCC2/TC3,TC4/TC5,,ADC,AC_DIG,AC1_DIG,AC_ANA,AC1_ANA,DAC,?..."
|
|
elif cpuis("ATSAMD21E*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,USB,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,,,TCC0/TCC1,TCC2/TC3,TC4/TC5,,ADC,AC_DIG,,AC_ANA,,DAC,PTC,I2S_0,I2S_1,?..."
|
|
elif cpuis("ATSAMD21G*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,USB,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TCC0/TCC1,TCC2/TC3,TC4/TC5,,ADC,AC_DIG,,AC_ANA,,DAC,PTC,I2S_0,I2S_1,?..."
|
|
elif cpuis("ATSAMD21*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,USB,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TCC0/TCC1,TCC2/TC3,TC4/TC5,TC6/TC7,ADC,AC_DIG,,AC_ANA,,DAC,PTC,I2S_0,I2S_1,?..."
|
|
elif cpuis("ATSAMD20G*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,WDT,RTC,EIC,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TC0/TC1,TC2/TC3,TC4/TC5,,ADC,AC_DIG,AC_ANA,DAC,PTC,?..."
|
|
elif cpuis("ATSAMD20E*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,WDT,RTC,EIC,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TC0/TC1,TC2/TC3,TC4/TC5,TC6/TC7,ADC,AC_DIG,AC_ANA,DAC,PTC,?..."
|
|
elif cpuis("ATSAMR21*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,USB,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TCC0/TCC1,TCC2/TC3,TC4/TC5,,ADC,AC_DIG,AC_ANA,PTC,?..."
|
|
elif cpuis("ATSAMD10*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,TCC0,TC1/TC2,ADC,AC_DIG,AC_ANA,DAC,PTC,?..."
|
|
elif cpuis("ATSAMD11*")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,USB,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,TCC0,TC1/TC2,ADC,AC_DIG,AC_ANA,DAC,PTC,?..."
|
|
elif cpuis("ATSAMHA1G1?A")
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M reference,FDPLL96M input clock,FDPLL96M 32kHz clock,WDT,RTC,EIC,,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TCC0/TCC1,TCC2/TC3,TC4/TC5,TC6/TC7,ADC,AC_DIG,AC_ANA,DAC,PTC,?..."
|
|
elif cpuis("ATSAMDA1*")
|
|
sif (cpuis("ATSAMDA1E*"))
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M_REF,DPLL,DPLL_32K,WDT,RTC,EIC,USB,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,,,TCC0/TCC1,TCC2/TC3,TC4/TC5,TC6/TC7,ADC,AC_DIG,,AC_ANA,,DAC,PTC,I2S_0,I2S_1,?..."
|
|
else
|
|
bitfld.word 0x00 0.--5. " ID ,Generic clock selection ID" "DFLL48M_REF,DPLL,DPLL_32K,WDT,RTC,EIC,USB,EVSYS_CHANNEL_0,EVSYS_CHANNEL_1,EVSYS_CHANNEL_2,EVSYS_CHANNEL_3,EVSYS_CHANNEL_4,EVSYS_CHANNEL_5,EVSYS_CHANNEL_6,EVSYS_CHANNEL_7,EVSYS_CHANNEL_8,EVSYS_CHANNEL_9,EVSYS_CHANNEL_10,EVSYS_CHANNEL_11,SERCOMx_SLOW,SERCOM0_CORE,SERCOM1_CORE,SERCOM2_CORE,SERCOM3_CORE,SERCOM4_CORE,SERCOM5_CORE,TCC0/TCC1,TCC2/TC3,TC4/TC5,TC6/TC7,ADC,AC_DIG,,AC_ANA,,DAC,PTC,I2S_0,I2S_1,?..."
|
|
endif
|
|
endif
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "GENCTRL,Generic Clock Generator Control"
|
|
bitfld.long 0x00 21. " RUNSTDBY ,Run in standby" "Stopped,Running"
|
|
bitfld.long 0x00 20. " DIVSEL ,Divide selection" "GENDIV.DIV,2^(GENDIV.DIV+1)"
|
|
bitfld.long 0x00 19. " OE ,Output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 18. " OOV ,Output off value" "0,1"
|
|
bitfld.long 0x00 17. " IDC ,Improve duty cycle" "Not 50/50 for odd division factors,50/50"
|
|
bitfld.long 0x00 16. " GENEN ,Generic clock generator enable" "Disabled,Enabled"
|
|
textline " "
|
|
sif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L")
|
|
bitfld.long 0x00 8.--12. " SRC ,Source select" "XOSC,GCLKIN,GCLKGEN1,OSCULP32K,OSC32K,,OSC8M,DFLL48M,FDPLL96M,?..."
|
|
elif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x00 8.--12. " SRC ,Source select" "XOSC,GCLKIN,GCLKGEN1,OSCULP32K,OSC32K,XOSC32K,OSC8M,DFLL48M,FDPLL96M,?..."
|
|
else
|
|
bitfld.long 0x00 8.--12. " SRC ,Source select" "XOSC,GCLKIN,GCLKGEN1,OSCULP32K,OSC32K,XOSC32K,OSC8M,DFLL48M,?..."
|
|
endif
|
|
textline " "
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,Generic clock generator 8,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,?..."
|
|
else
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,?..."
|
|
endif
|
|
textline " "
|
|
sif (cpuis("ATSAMR21*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMDA1*"))
|
|
if ((per.l(ad:0x40000C00+0x08)&0xF)==0x00)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.byte 0x00 8.--15. 1. " DIV[7:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,Generic clock generator 8,?..."
|
|
elif ((per.l(ad:0x40000C00+0x08)&0xF)==0x01)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.word 0x00 8.--23. 1. " DIV[15:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,Generic clock generator 8,?..."
|
|
elif ((per.l(ad:0x40000C00+0x08)&0xF)==0x02)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.byte 0x00 8.--12. 1. " DIV[4:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,Generic clock generator 8,?..."
|
|
elif (((per.l(ad:0x40000C00+0x08)&0xF)>0x02)&&((per.l(ad:0x40000C00+0x08)&0xF)<0x09))
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.byte 0x00 8.--15. 1. " DIV[7:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,Generic clock generator 8,?..."
|
|
else
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,Generic clock generator 8,?..."
|
|
endif
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
if ((per.l(ad:0x40000C00+0x08)&0xF)==0x00)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.byte 0x00 8.--15. 1. " DIV[7:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,?..."
|
|
elif ((per.l(ad:0x40000C00+0x08)&0xF)==0x01)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.word 0x00 8.--23. 1. " DIV[15:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,?..."
|
|
elif ((per.l(ad:0x40000C00+0x08)&0xF)==0x02)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.byte 0x00 8.--12. 1. " DIV[4:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,?..."
|
|
elif (((per.l(ad:0x40000C00+0x08)&0xF)>0x02)&&((per.l(ad:0x40000C00+0x08)&0xF)<0x06))
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.byte 0x00 8.--15. 1. " DIV[7:0] ,Division factor"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,?..."
|
|
else
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,?..."
|
|
endif
|
|
else
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "GENDIV,Generic Clock Generator Division"
|
|
hexmask.long.word 0x00 8.--23. 1. " DIV ,Division factor"
|
|
bitfld.long 0x00 0.--3. " ID ,Generic clock generator selection" "Generic clock generator 0,Generic clock generator 1,Generic clock generator 2,Generic clock generator 3,Generic clock generator 4,Generic clock generator 5,Generic clock generator 6,Generic clock generator 7,?..."
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree "PM (Power Manager)"
|
|
base ad:0x40000400
|
|
width 15.
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMDA1*"))
|
|
hgroup.byte 0x00++0x00
|
|
hide.byte 0x00 "CTRL,Control"
|
|
else
|
|
group.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
bitfld.byte 0x00 4. " BKUPCLK ,Backup clock select" "GCLKMAIN clock selected,OSC8M backup clock selected"
|
|
bitfld.byte 0x00 2. " CFDEN ,Clock failure detector enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x01++0x00
|
|
line.byte 0x00 "SLEEP,Sleep Mode"
|
|
bitfld.byte 0x00 0.--1. " IDLE ,Idle mode configuration" "CPU clock domain is stopped,CPU and AHB clock domains are stopped,CPU and AHB and APB clock domains are stopped,?..."
|
|
textline " "
|
|
sif (cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14"))
|
|
group.byte 0x02++0x00
|
|
line.byte 0x00 "EXTCTRL,External Reset Register"
|
|
bitfld.byte 0x00 0. " SETDIS ,External reset disable" "No,Yes"
|
|
endif
|
|
group.byte 0x08++0x03
|
|
line.byte 0x00 "CPUSEL,CPU Clock Select"
|
|
bitfld.byte 0x00 0.--2. " CPUDIV ,CPU prescaler selection" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128"
|
|
line.byte 0x01 "APBASEL,APBA Clock Select"
|
|
bitfld.byte 0x01 0.--2. " APBADIV ,APBA prescaler selection" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128"
|
|
line.byte 0x02 "APBBSEL,APBB Clock Select"
|
|
bitfld.byte 0x02 0.--2. " APBBDIV ,APBB prescaler selection" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128"
|
|
line.byte 0x03 "APBCSEL,APBC Clock Select"
|
|
bitfld.byte 0x03 0.--2. " APBCDIV ,APBC prescaler selection" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128"
|
|
group.long 0x14++0x0F
|
|
line.long 0x00 "AHBMASK,AHB Mask"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD11*")||cpuis("ATSAMDA1*"))
|
|
sif (cpu()!="ATSAMD21E15L")&&(cpu()!="ATSAMD21E16L")&&(cpu()!="ATSAMD21G16L")
|
|
bitfld.long 0x00 6. " USB ,USB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
endif
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x00 5. " DMAC ,DMAC clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 4. " NVMCTRL ,NVMCTRL clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x00 3. " DSU ,DSU clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x00 2. " HPB2 ,HPB2 clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 1. " HPB1 ,HPB1 clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x00 0. " HPB0 ,HPB0 clock enable" "Stopped,Enabled"
|
|
line.long 0x04 "APBAMASK,APBA Mask"
|
|
bitfld.long 0x04 6. " EIC ,EIC clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x04 5. " RTC ,RTC clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x04 4. " WDT ,WDT clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x04 3. " GCLK ,GLCK clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x04 2. " SYSCTRL ,SYSCTRL clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x04 1. " PM ,PM clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x04 0. " PAC0 ,PAC0 clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
line.long 0x08 "APBBMASK,APBB Mask"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD11*")||cpuis("ATSAMDA1*"))
|
|
sif ((cpu()!="ATSAMD21E15L")&&(cpu()!="ATSAMD21E16L")&&(cpu()!="ATSAMD21G16L"))
|
|
bitfld.long 0x08 5. " USB ,USB APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
endif
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x08 4. " DMAC ,DMAC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x08 3. " PORT ,PORT APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x08 2. " NVMCTRL ,NVMCTRL APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x08 1. " DSU ,DSU APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x08 0. " PAC1 ,PAC1 APB clock enable" "Stopped,Enabled"
|
|
line.long 0x0C "APBCMASK,APBC Mask"
|
|
sif (!cpuis("ATSAMD10")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
sif ((cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L"))
|
|
bitfld.long 0x0C 21. " AC1 ,AC1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 18. " DAC ,DAC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
elif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x0C 20. " I2S ,I2S APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 19. " PTC ,PTC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 18. " DAC ,DAC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
elif cpuis("ATSAMR21*")
|
|
bitfld.long 0x0C 21. " RFCTRL ,RFCTRL APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 19. " PTC ,PTC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
else
|
|
bitfld.long 0x0C 19. " PTC ,PTC APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 18. " DAC ,DAC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x0C 17. " AC ,AC APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 16. " ADC ,ADC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
sif (cpuis("ATSAMD20J*")||(cpuis("ATSAMD21J*"))||(cpuis("ATSAMHA1G1?A"))||(cpu()=="ATSAMD21G16L")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x0C 15. " TC7 ,TC7 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 14. " TC6 ,TC6 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x0C 13. " TC5 ,APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 12. " TC4 ,TC4 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 11. " TC3 ,TC3 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
sif cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x0C 10. " TCC2 ,TCC2 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 9. " TCC1 ,TCC1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 8. " TCC0 ,TCC0 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
elif cpuis("ATSAMD20*")
|
|
bitfld.long 0x0C 10. " TC2 ,TC2 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 9. " TC1 ,TC1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 8. " TC0 ,TC0 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
else
|
|
bitfld.long 0x0C 10. " TC2 ,TC2 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 9. " TCC1 ,TCC1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 8. " TCC0 ,TCC0 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
sif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L")
|
|
bitfld.long 0x0C 6. " SERCOM4 ,SERCOM4 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
elif (cpuis("ATSAMD20J*")||cpuis("ATSAMD20G*")||cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMDA1*")||cpuis("ATSAMD20E*"))
|
|
sif (!cpuis("ATSAMD21E*")&&!cpuis("ATSAMDA1E*"))
|
|
bitfld.long 0x0C 7. " SERCOM5 ,SERCOM5 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 6. " SERCOM4 ,SERCOM4 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
endif
|
|
endif
|
|
bitfld.long 0x0C 5. " SERCOM3 ,SERCOM3 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 4. " SERCOM2 ,SERCOM2 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 3. " SERCOM1 ,SERCOM1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 2. " SERCOM0 ,SERCOM0 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 1. " EVSYS ,EVSYS APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 0. " PAC2 ,PAC2 APB clock enable" "Stopped,Enabled"
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x0C 8. " ADC ,ADC APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 7. " TC2 ,TC2 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 6. " TC1 ,TC1 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 3. " SERCOM1 ,SERCOM1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 2. " SERCOM0 ,SERCOM0 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 1. " EVSYS ,EVSYS APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 0. " PAC2 ,PAC2 APB clock enable" "Stopped,Enabled"
|
|
else
|
|
bitfld.long 0x0C 10. " DAC ,DAC APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 9. " AC ,AC ABP clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 8. " ADC ,ADC APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 7. " TC2 ,TC2 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 6. " TC1 ,TC1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 5. " TCC0 ,TCC0 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 4. " SERCOM2 ,SERCOM2 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 3. " SERCOM1 ,SERCOM1 APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 2. " SERCOM0 ,SERCOM0 APB clock enable" "Stopped,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 1. " EVSYS ,EVSYS APB clock enable" "Stopped,Enabled"
|
|
bitfld.long 0x0C 0. " PAC2 ,PAC2 APB clock enable" "Stopped,Enabled"
|
|
endif
|
|
textline " "
|
|
sif (cpuis("ATSAMHA1G1?A"))
|
|
group.byte 0x34++0x02
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 0. 0x01 0. 0x00 0. " CKRDY ,Clock ready interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x02 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x02 0. " CKRDY ,Clock ready" "Low,High"
|
|
elif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
group.byte 0x35++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " CKRDY ,Clock ready interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 0. " CKRDY ,Clock ready" "Not ready,Ready"
|
|
elif (cpuis("ATSAMR21*"))
|
|
group.byte 0x34++0x02
|
|
line.byte 0x00 "INTENCLR,Interrupt Enable Clear"
|
|
eventfld.byte 0x00 0. " CKRDY ,Clock ready interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTENSET,Interrupt Enable Set"
|
|
bitfld.byte 0x01 0. " CKRDY ,Clock ready interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x02 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x02 0. " CKRDY ,Clock ready" "Low,High"
|
|
else
|
|
group.byte 0x35++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Clear/Set"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x01 1. " CFD ,Clock failure detector interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " CKRDY ,Clock ready interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 1. " CFD ,Clock failure detector" "Low,High"
|
|
eventfld.byte 0x01 0. " CKRDY ,Clock ready" "Low,High"
|
|
endif
|
|
rgroup.byte 0x38++0x00
|
|
line.byte 0x00 "RCAUSE,Reset Cause"
|
|
bitfld.byte 0x00 6. " SYST ,System reset request" "No reset,Reset"
|
|
bitfld.byte 0x00 5. " WDT ,Watchdog reset" "No reset,Reset"
|
|
bitfld.byte 0x00 4. " EXT ,External reset" "No reset,Reset"
|
|
textline " "
|
|
bitfld.byte 0x00 2. " BOD33 ,Brown out 33 detector reset" "No reset,Reset"
|
|
bitfld.byte 0x00 1. " BOD12 ,Brown out 12 detector reset" "No reset,Reset"
|
|
bitfld.byte 0x00 0. " POR ,Power-On reset" "No reset,Reset"
|
|
width 0x0B
|
|
tree.end
|
|
tree "SYSCTRL (System Controller)"
|
|
base ad:0x40000800
|
|
width 15.
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*")||cpuis("ATSAMD20*"))
|
|
group.long 0x04++0x07
|
|
line.long 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
sif (!cpuis("ATSAMD20*"))
|
|
setclrfld.long 0x00 17. 0x00 17. -0x04 17. " DPLLLTO ,DPLL lock timeout interrupt disable/enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 16. 0x00 16. -0x04 16. " DPLLLCKF ,DPLL lock fall interrupt disable/enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 15. 0x00 15. -0x04 15. " DPLLLCKR ,DPLL lock rise interrupt disable/enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 11. 0x00 11. -0x04 11. " B33SRDY ,BOD33 synchronization ready interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 10. 0x00 10. -0x04 10. " BOD33DET ,BOD33 detection interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 9. 0x00 9. -0x04 9. " BOD33RDY ,BOD33 ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 8. 0x00 8. -0x04 8. " DFLLRCS ,DFLL reference clock stopped interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 7. 0x00 7. -0x04 7. " DFLLLCKC ,DFLL lock coarse interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 6. 0x00 6. -0x04 6. " DFLLLCKF ,DFLL lock fine interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 5. 0x00 5. -0x04 5. " DFLLOOB ,DFLL out of bounds interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 4. 0x00 4. -0x04 4. " DFLLRDY ,DFLL ready interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 3. 0x00 3. -0x04 3. " OSC8MRDY ,OSC8M ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 2. 0x00 2. -0x04 2. " OSC32KRDY ,OSC32K ready interrupt enable" "Disabled,Enabled"
|
|
sif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L")
|
|
textline " "
|
|
setclrfld.long 0x00 0. 0x00 0. -0x04 0. " XOSCRDY ,XOSC ready interrupt enable" "Disabled,Enabled"
|
|
else
|
|
textline " "
|
|
setclrfld.long 0x00 1. 0x00 1. -0x04 1. " XOSC32KRDY ,XOSC32K ready interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 0. 0x00 0. -0x04 0. " XOSCRDY ,XOSC ready interrupt enable" "Disabled,Enabled"
|
|
endif
|
|
line.long 0x04 "INTFLAG,Interrupt Flag Status And Clear"
|
|
sif (!cpuis("ATSAMD20*"))
|
|
eventfld.long 0x04 17. " DPLLLTO ,DPLL lock timeout" "Low,High"
|
|
eventfld.long 0x04 16. " DPLLLCKF ,DPLL lock fall" "Low,High"
|
|
eventfld.long 0x04 15. " DPLLLCKR ,DPLL lock rise" "Low,High"
|
|
textline " "
|
|
endif
|
|
eventfld.long 0x04 11. " B33SRDY ,BOD33 synchronization ready" "Low,High"
|
|
eventfld.long 0x04 10. " BOD33DET ,BOD33 detection" "Low,High"
|
|
eventfld.long 0x04 9. " BOD33RDY ,BOD33 ready" "Low,High"
|
|
textline " "
|
|
eventfld.long 0x04 8. " DFLLRCS ,DFLL reference clock stopped" "Low,High"
|
|
eventfld.long 0x04 7. " DFLLLCKC ,DFLL lock coarse" "Low,High"
|
|
eventfld.long 0x04 6. " DFLLLCKF ,DFLL lock fine" "Low,High"
|
|
textline " "
|
|
eventfld.long 0x04 5. " DFLLOOB ,DFLL out of bounds" "Low,High"
|
|
eventfld.long 0x04 4. " DFLLRDY ,DFLL ready" "Low,High"
|
|
eventfld.long 0x04 3. " OSC8MRDY ,OSC8M ready" "Low,High"
|
|
textline " "
|
|
eventfld.long 0x04 2. " OSC32KRDY ,OSC32K ready" "Low,High"
|
|
sif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L")
|
|
textline " "
|
|
eventfld.long 0x04 0. " XOSCRDY ,XOSC ready" "Low,High"
|
|
else
|
|
textline " "
|
|
eventfld.long 0x04 1. " XOSC32KRDY ,XOSC32K ready" "Low,High"
|
|
eventfld.long 0x04 0. " XOSCRDY ,XOSC ready" "Low,High"
|
|
endif
|
|
else
|
|
group.long 0x00++0x07
|
|
line.long 0x00 "INTENCLR,Interrupt Enable Clear"
|
|
eventfld.long 0x00 14. " B12SRDY ,BOD12 synchronization ready interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 13. " BOD12DET ,BOD12 detection interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 12. " BOD12RDY ,BOD12 ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.long 0x00 11. " B33SRDY ,BOD33 synchronization ready interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 10. " BOD33DET ,BOD33 detection interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 9. " BOD33RDY ,BOD33 ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.long 0x00 8. " DFLLRCS ,DFLL reference clock stopped interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 7. " DFLLLCKC ,DFLL lock coarse interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 6. " DFLLLCKF ,DFLL lock fine interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.long 0x00 5. " DFLLOOB ,DFLL out of bounds interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 4. " DFLLRDY ,DFLL ready interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 3. " OSC8MRDY ,OSC8M ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.long 0x00 2. " OSC32KRDY ,OSC32K ready interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 1. " XOSC32KRDY ,XOSC32K ready interrupt enable" "Disabled,Enabled"
|
|
eventfld.long 0x00 0. " XOSCRDY ,XOSC ready interrupt enable" "Disabled,Enabled"
|
|
line.long 0x04 "INTENSET,Interrupt Enable Set"
|
|
bitfld.long 0x04 14. " B12SRDY ,BOD12 synchronization ready interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 13. " BOD12DET ,BOD12 detection interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 12. " BOD12RDY ,BOD12 ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x04 11. " B33SRDY ,BOD33 synchronization ready interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 10. " BOD33DET ,BOD33 detection interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 9. " BOD33RDY ,BOD33 ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x04 8. " DFLLRCS ,DFLL reference clock stopped interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 7. " DFLLLCKC ,DFLL lock coarse interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 6. " DFLLLCKF ,DFLL lock fine interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x04 5. " DFLLOOB ,DFLL out of bounds interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 4. " DFLLRDY ,DFLL ready interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 3. " OSC8MRDY ,OSC8M ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x04 2. " OSC32KRDY ,OSC32K ready interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 1. " XOSC32KRDY ,XOSC32K ready interrupt enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 0. " XOSCRDY ,XOSC ready interrupt enable" "Disabled,Enabled"
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.long 0x00 14. " B12SRDY ,BOD12 synchronization ready" "No interrupt,Interrupt"
|
|
eventfld.long 0x00 13. " BOD12DET ,BOD12 detection" "No interrupt,Interrupt"
|
|
eventfld.long 0x00 12. " BOD12RDY ,BOD12 ready" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x00 11. " B33SRDY ,BOD33 synchronization ready" "Low,High"
|
|
eventfld.long 0x00 10. " BOD33DET ,BOD33 detection" "Low,High"
|
|
eventfld.long 0x00 9. " BOD33RDY ,BOD33 ready" "Low,High"
|
|
textline " "
|
|
eventfld.long 0x00 8. " DFLLRCS ,DFLL reference clock stopped" "Low,High"
|
|
eventfld.long 0x00 7. " DFLLLCKC ,DFLL lock coarse" "Low,High"
|
|
eventfld.long 0x00 6. " DFLLLCKF ,DFLL lock fine" "Low,High"
|
|
textline " "
|
|
eventfld.long 0x00 5. " DFLLOOB ,DFLL out of bounds" "Low,High"
|
|
eventfld.long 0x00 4. " DFLLRDY ,DFLL ready" "Low,High"
|
|
eventfld.long 0x00 3. " OSC8MRDY ,OSC8M ready" "Low,High"
|
|
textline " "
|
|
eventfld.long 0x00 2. " OSC32KRDY ,OSC32K ready" "Low,High"
|
|
eventfld.long 0x00 1. " XOSC32KRDY ,XOSC32K ready" "Low,High"
|
|
eventfld.long 0x00 0. " XOSCRDY ,XOSC ready" "Low,High"
|
|
endif
|
|
rgroup.long 0x0C++0x03
|
|
line.long 0x00 "PCLKSR,Power And Clocks Status"
|
|
sif (!cpuis("ATSAMD20*"))
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x00 17. " DPLLLTO ,DPLL lock timeout" "Not detected,Detected"
|
|
bitfld.long 0x00 16. " DPLLLCKF ,DPLL lock fall" "Not detected,Detected"
|
|
bitfld.long 0x00 15. " DPLLLCKR ,DPLL lock rise" "Not detected,Detected"
|
|
textline " "
|
|
else
|
|
bitfld.long 0x00 14. " B12SRDY ,BOD12 synchronization ready" "Ongoing,Complete"
|
|
bitfld.long 0x00 13. " BOD12DET ,BOD12 detection" "Not detected,Detected"
|
|
bitfld.long 0x00 12. " BOD12RDY ,BOD12 ready" "Not ready,Ready"
|
|
textline " "
|
|
endif
|
|
endif
|
|
bitfld.long 0x00 11. " B33SRDY ,BOD33 synchronization ready" "Complete,Ongoing"
|
|
bitfld.long 0x00 10. " BOD33DET ,BOD33 detection" "Not detected,Detected"
|
|
bitfld.long 0x00 9. " BOD33RDY ,BOD33 ready" "Not ready,Ready"
|
|
textline " "
|
|
bitfld.long 0x00 8. " DFLLRCS ,DFLL reference clock stopped" "Running,Stopped"
|
|
bitfld.long 0x00 7. " DFLLLCKC ,DFLL lock coarse" "Not detected,Detected"
|
|
bitfld.long 0x00 6. " DFLLLCKF ,DFLL lock fine" "Not detected,Detected"
|
|
textline " "
|
|
bitfld.long 0x00 5. " DFLLOOB ,DFLL out of bounds" "No detected,Detected"
|
|
bitfld.long 0x00 4. " DFLLRDY ,DFLL ready" "Not ready,Ready"
|
|
bitfld.long 0x00 3. " OSC8MRDY ,OSC8M ready" "Not ready,Ready"
|
|
textline " "
|
|
bitfld.long 0x00 2. " OSC32KRDY ,OSC32K ready" "Not ready,Ready"
|
|
sif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L")
|
|
textline " "
|
|
bitfld.long 0x00 0. " XOSCRDY ,XOSC ready" "Not ready,Ready"
|
|
else
|
|
textline " "
|
|
bitfld.long 0x00 1. " XOSC32KRDY ,XOSC32K ready" "Not ready,Ready"
|
|
bitfld.long 0x00 0. " XOSCRDY ,XOSC ready" "Not ready,Ready"
|
|
endif
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "XOSC,External Multipurpose Crystal Oscillator Control"
|
|
bitfld.word 0x00 12.--15. " STARTUP ,Start-up time" "31 us,61 us,122 us,244 us,488 us,977 us,1953 us,3906 us,7813 us,15625 us,31250 us,62500 us,125000 us,250000 us,500000 us,1000000 us"
|
|
bitfld.word 0x00 11. " AMPGC ,Automatic amplitude gain control" "Disabled,Enabled"
|
|
bitfld.word 0x00 8.--10. " GAIN ,Oscillator gain" "2MHz,4MHz,8MHz,16MHz,30MHz,?..."
|
|
textline " "
|
|
bitfld.word 0x00 7. " ONDEMAND ,On demand control" "Always on,On demand"
|
|
bitfld.word 0x00 6. " RUNSTDBY ,Run in standby" "Stopped,Running"
|
|
bitfld.word 0x00 2. " XTALEN ,Crystal oscillator enable" "External clock connected,Crystal connected"
|
|
textline " "
|
|
bitfld.word 0x00 1. " ENABLE ,Oscillator enable" "Disabled,Enabled"
|
|
sif (cpu()!="ATSAMD21E15L")&&(cpu()!="ATSAMD21E16L")&&(cpu()!="ATSAMD21G16L")
|
|
group.word 0x14++0x01
|
|
line.word 0x00 "XOSC32K,32kHz External Crystal Oscillator Control"
|
|
bitfld.word 0x00 12. " WRTLOCK ,Write lock" "Not locked,Locked"
|
|
bitfld.word 0x00 8.--10. " STARTUP ,Oscillator start-up time" "122 us,1068 us,62592 us,125092 us,500092 us,1000092 us,2000092 us,4000092 us"
|
|
bitfld.word 0x00 7. " ONDEMAND ,On demand control" "Always on,On demand"
|
|
textline " "
|
|
bitfld.word 0x00 6. " RUNSTDBY ,Run in standby" "Disabled,Not stopped"
|
|
bitfld.word 0x00 5. " AAMPEN ,Automatic amplitude control enable" "Disabled,Enabled"
|
|
sif (!cpuis("ATSAMD21*")&&!cpuis("ATSAMD20*")&&!cpuis("ATSAMDA1*"))
|
|
textline " "
|
|
bitfld.word 0x00 4. " EN1K ,1kHz output enable" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.word 0x00 3. " EN32K ,32kHz output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 2. " XTALEN ,Crystal oscillator enable" "External clock connected,Crystal connected"
|
|
bitfld.word 0x00 1. " ENABLE ,Oscillator enable" "Disabled,Enabled"
|
|
endif
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "OSC32K,32kHz Internal Oscillator Control"
|
|
hexmask.long.byte 0x00 16.--22. 1. " CALIB ,Oscillator calibration"
|
|
bitfld.long 0x00 12. " WRTLOCK ,Write lock" "Not locked,Locked"
|
|
bitfld.long 0x00 8.--10. " STARTUP ,Oscillator start-up time" "92 us,122 us,183 us,305 us,549 us,1038 us,2014 us,3967 us"
|
|
textline " "
|
|
bitfld.long 0x00 7. " ONDEMAND ,On demand control" "Always on,On demand"
|
|
bitfld.long 0x00 6. " RUNSTDBY ,Run in standby" "Disabled,Not stopped"
|
|
sif (!cpuis("ATSAMD21*")&&!cpuis("ATSAMD20*")&&!cpuis("ATSAMDA1*"))
|
|
textline " "
|
|
bitfld.long 0x00 3. " EN1K ,1kHz output enable" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 2. " EN32K ,32kHz output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
group.byte 0x1C++0x00
|
|
line.byte 0x00 "OSCULP32K,332kHz Ultra Low Power Internal Oscillator Control"
|
|
bitfld.byte 0x00 7. " WRTLOCK ,Write lock" "Not locked,Locked"
|
|
hexmask.byte 0x00 0.--4. 1. " CALIB ,Oscillator calibration"
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "OSC8M,8MHz Internal Oscillator Control"
|
|
bitfld.long 0x00 30.--31. " FRANGE ,Oscillator frequency range" "4 to 6MHz,6 to 8MHz,8 to 11MHz,11 to 15MHz"
|
|
hexmask.long.word 0x00 16.--27. 1. " CALIB ,Oscillator calibration"
|
|
bitfld.long 0x00 8.--9. " PRESC ,Oscillator prescaler" "1,2,4,8"
|
|
textline " "
|
|
bitfld.long 0x00 7. " ONDEMAND ,On demand control" "Always on,On demand"
|
|
bitfld.long 0x00 6. " RUNSTDBY ,Run in standby" "Disabled,Not stopped"
|
|
bitfld.long 0x00 1. " ENABLE ,Oscillator enable" "Disabled,Enabled"
|
|
sif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L")
|
|
hgroup.word 0x24++0x01
|
|
hide.word 0x00 "DFLLCTRL,DFLL48M Control"
|
|
else
|
|
group.word 0x24++0x01
|
|
line.word 0x00 "DFLLCTRL,DFLL48M Control"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
bitfld.word 0x00 11. " WAITLOCK ,Wait lock" "Before DFLL,When DFLL"
|
|
bitfld.word 0x00 10. " BPLCKC ,Bypass coarse lock" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.word 0x00 9. " QLDIS ,Quick lock disable" "No,Yes"
|
|
bitfld.word 0x00 8. " CCDIS ,Chill cycle disable" "No,Yes"
|
|
bitfld.word 0x00 7. " ONDEMAND ,On demand control" "Always on,On demand"
|
|
textline " "
|
|
sif (!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.word 0x00 6. " RUNSTDBY ,Run in standby" "Disabled,Not stopped"
|
|
textline " "
|
|
endif
|
|
sif (cpuis("ATSAMD11")||cpuis("ATSAMDA1*"))
|
|
bitfld.word 0x00 5. " USBCRM ,USB clock recovery mode" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.word 0x00 4. " LLAW ,Lose lock after wake" "Not lost,Lost"
|
|
bitfld.word 0x00 3. " STABLE ,Stable DFLL frequency" "Variable,Fixed"
|
|
textline " "
|
|
bitfld.word 0x00 2. " MODE ,Operating mode selection" "Open-loop,Closed-loop"
|
|
bitfld.word 0x00 1. " ENABLE ,DFLL enable" "Disabled,Enabled"
|
|
endif
|
|
sif (cpuis("ATSAMDA1*"))
|
|
if ((per.w(ad:0x40000800+0x24)&0x04)==0x04)
|
|
rgroup.long 0x28++0x03
|
|
line.long 0x00 "DFLLVAL,DFLL48M Value"
|
|
hexmask.long.word 0x00 16.--31. 1. " DIFF ,Multiplication ratio difference"
|
|
hexmask.long.byte 0x00 10.--15. 1. " COARSE ,Coarse value"
|
|
hexmask.long.word 0x00 0.--9. 1. " FINE ,Fine value"
|
|
else
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "DFLLVAL,DFLL48M Value"
|
|
hexmask.long.byte 0x00 10.--15. 1. " COARSE ,Coarse value"
|
|
hexmask.long.word 0x00 0.--9. 1. " FINE ,Fine value"
|
|
endif
|
|
else
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "DFLLVAL,DFLL48M Value"
|
|
hexmask.long.word 0x00 16.--31. 1. " DIFF ,Multiplication ratio difference"
|
|
hexmask.long.byte 0x00 10.--15. 1. " COARSE ,Coarse value"
|
|
hexmask.long.word 0x00 0.--9. 1. " FINE ,Fine value"
|
|
endif
|
|
group.long 0x2C++0x03
|
|
line.long 0x00 "DFLLMUL,DFLL48M Multiplier"
|
|
hexmask.long.byte 0x00 26.--31. 1. " CSTEP ,Coarse maximum step"
|
|
hexmask.long.word 0x00 16.--25. 1. " FSTEP ,Fine maximum step"
|
|
hexmask.long.word 0x00 0.--15. 1. " MUL ,DFLL multiply factor"
|
|
wgroup.byte 0x30++0x00
|
|
line.byte 0x00 "DFLLSYNC,DFLL48M Synchronization"
|
|
bitfld.byte 0x00 7. " READREQ ,Read request" "No effect,Request"
|
|
group.long 0x34++0x03
|
|
line.long 0x00 "BOD33,3.3V Brown-Out Detector (BOD33) Control"
|
|
hexmask.long.byte 0x00 16.--21. 1. " LEVEL ,BOD33 threshold level"
|
|
bitfld.long 0x00 12.--15. " PSEL ,Prescaler select" "DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512,DIV1K,DIV2K,DIV4K,DIV8K,DIV16K,DIV32K,DIV64K"
|
|
bitfld.long 0x00 9. " CEN ,Clock enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 8. " MODE ,Operation mode" "Continuous,Sampling"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD20*")||cpuis("ATSAMDA1*"))
|
|
textline " "
|
|
bitfld.long 0x00 6. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
bitfld.long 0x00 3.--4. " ACTION ,BOD33 action" "NONE,RESET,INTERRUPT,?..."
|
|
bitfld.long 0x00 2. " HYST ,Hysteresis" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
else
|
|
textline " "
|
|
bitfld.long 0x00 3.--4. " ACTION ,BOD33 action" "NONE,RESET,INTERRUPT,?..."
|
|
bitfld.long 0x00 2. " HYST ,Hysteresis" "Disabled,Enabled"
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
endif
|
|
sif (!cpuis("ATSAMD21*")&&!cpuis("ATSAMR21*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD10*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14")&&!cpuis("ATSAMD20*")&&!cpuis("ATSAMDA1*"))
|
|
group.long 0x38++0x03
|
|
line.long 0x00 "BOD12,1.2V Brown-Out Detector (BOD12) Control"
|
|
hexmask.long.byte 0x00 16.--20. 1. " LEVEL ,BOD12 threshold level"
|
|
bitfld.long 0x00 12.--15. " PSEL ,Prescaler select" "DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512,DIV1K,DIV2K,DIV4K,DIV8K,DIV16K,DIV32K,DIV64K"
|
|
bitfld.long 0x00 9. " CEN ,Clock enable" "Low,High"
|
|
textline " "
|
|
bitfld.long 0x00 8. " MODE ,Operation mode" "Continuous,Sampling"
|
|
bitfld.long 0x00 3.--4. " ACTION ,BOD12 action" "NONE,RESET,INTERRUPT,?..."
|
|
bitfld.long 0x00 2. " HYST ,Hysteresis" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
endif
|
|
sif (!cpuis("ATSAMD21*")&&!cpuis("ATSAMR21*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD10*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14")&&!cpuis("ATSAMD20*")&&!cpuis("ATSAMDA1*"))
|
|
group.word 0x3C++0x01
|
|
line.word 0x00 "VREG,Voltage Regulator System (VREG) Control"
|
|
bitfld.word 0x00 12.--14. " CALIB ,Voltage regulator calibration" "0,1,2,3,4,5,6,7"
|
|
bitfld.word 0x00 8.--10. " LEVEL ,Voltage regulator level" "0,1,2,3,4,5,6,7"
|
|
bitfld.word 0x00 6. " RUNSTDBY ,Run in standby" "Low-power,Not low-power"
|
|
elif (cpuis("ATSAMR21*")||cpuis("ATSAMD21*")||cpuis("ATSAMD20*")||cpuis("ATSAMDA1*"))
|
|
group.word 0x3C++0x01
|
|
line.word 0x00 "VREG,Voltage Regulator System (VREG) Control"
|
|
bitfld.word 0x00 13. " FORCELDO ,Force LDO voltage regulator (Power/Drive)" "Low/Low,Low/High"
|
|
bitfld.word 0x00 6. " RUNSTDBY ,Run in standby" "Low-power,Normal"
|
|
endif
|
|
group.long 0x40++0x03
|
|
line.long 0x00 "VREF,Voltage References System (VREF) Control"
|
|
hexmask.long.word 0x00 16.--26. 1. " CALIB ,Bandgap voltage generator calibration"
|
|
bitfld.long 0x00 2. " BGOUTEN ,Bandgap output enable" "Not available,Routed"
|
|
bitfld.long 0x00 1. " TSEN ,Temperature sensor enable" "Disabled,Enabled"
|
|
sif (!cpuis("ATSAMD20*"))
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMDA1*"))
|
|
group.byte 0x44++0x00
|
|
line.byte 0x00 "DPLLCTRLA,DPLL Control A"
|
|
bitfld.byte 0x00 7. " ONDEMAND ,On demand clock activation" "Always on,On demand"
|
|
bitfld.byte 0x00 6. " RUNSTDBY ,Run in standby" "Disabled,Not stopped"
|
|
bitfld.byte 0x00 1. " ENABLE ,DPLL enable" "Disabled,Enabled"
|
|
endif
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
group.long 0x48++0x07
|
|
line.long 0x00 "DPLLRATIO,DPLL Ratio Control"
|
|
bitfld.long 0x00 16.--19. " LDRFRAC ,Loop divider ratio fractional part" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
hexmask.long.word 0x00 0.--11. 1. " LDR ,Loop divider ratio"
|
|
line.long 0x04 "DPLLCTRLB,DPLL Control B"
|
|
hexmask.long.word 0x04 16.--26. 1. " DIV ,Clock divider"
|
|
bitfld.long 0x04 12. " LBYPASS ,Lock bypass" "Not bypassed,Bypassed"
|
|
bitfld.long 0x04 8.--10. " LTIME ,Lock time" "No time-out,,,,8ms,9ms,10ms,11ms"
|
|
textline " "
|
|
sif cpuis("ATSAMR21*")||cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x04 4.--5. " REFCLK ,Reference clock selection" "XOSC32,XOSC,GCLK_DPLL,?..."
|
|
bitfld.long 0x04 3. " WUF ,Wake up fast" "Until complete,Until startup"
|
|
textline " "
|
|
else
|
|
bitfld.long 0x04 4.--5. " REFCLK ,Reference clock selection" "REF0,REF1,GCLK,?..."
|
|
bitfld.long 0x04 3. " WUF ,Wake up fast" "Until complete,Until startup"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 2. " LPEN ,Low-Power enable" "Conv. selected,Conv. not selected"
|
|
bitfld.long 0x04 0.--1. " FILTER ,Proportional integral filter selection" "Default,Low bandwidth,High bandwidth,High damping"
|
|
endif
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
rgroup.byte 0x50++0x00
|
|
line.byte 0x00 "DPLLSTATUS,DPLL Status"
|
|
bitfld.byte 0x00 3. " DIV ,Divider enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 2. " ENABLE ,DPLL enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " CLKRDY ,Output clock ready" "Off,On"
|
|
bitfld.byte 0x00 0. " LOCK ,DPLL lock status" "Cleared,Asserted"
|
|
else
|
|
rgroup.long 0x50++0x03
|
|
line.long 0x00 "DPLLSTATUS,DPLL Status"
|
|
bitfld.long 0x00 3. " DIV ,Divider enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 2. " ENABLE ,DPLL enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 1. " CLKRDY ,Output clock ready" "Off,On"
|
|
bitfld.long 0x00 0. " LOCK ,DPLL lock status" "Cleared,Asserted"
|
|
endif
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree "WDT (Watchdog Timer)"
|
|
base ad:0x40001000
|
|
width 15.
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
if (((per.b(ad:0x40001000))&0x82)==0x80)
|
|
group.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
rbitfld.byte 0x00 7. " ALWAYSON ,Always-on" "WDT can be disabled through the ENABLE bit,WDT can only be disabled by a power-on reset"
|
|
textline " "
|
|
bitfld.byte 0x00 2. " WEN ,Watchdog timer window mode enable" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.byte 0x00 1. " ENABLE ,Watchdog enable" "Disabled,Enabled"
|
|
rgroup.byte 0x01++0x01
|
|
line.byte 0x00 "CONFIG,Configuration"
|
|
bitfld.byte 0x00 4.--7. " WINDOW ,Window mode time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
textline " "
|
|
bitfld.byte 0x00 0.--3. " PER ,Time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
line.byte 0x01 "EWCTRL,Early Warning Interrupt Control"
|
|
bitfld.byte 0x01 0.--3. " EWOFFSET ,Early warning interrupt time offset" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
else
|
|
if (((per.b(ad:0x40001000))&0x02)==0x02)
|
|
group.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
bitfld.byte 0x00 7. " ALWAYSON ,Always-on" "WDT can be disabled through the ENABLE bit,WDT can only be disabled by a power-on reset"
|
|
textline " "
|
|
rbitfld.byte 0x00 2. " WEN ,Watchdog timer window mode enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " ENABLE ,Watchdog enable" "Disabled,Enabled"
|
|
rgroup.byte 0x01++0x01
|
|
line.byte 0x00 "CONFIG,Configuration"
|
|
bitfld.byte 0x00 4.--7. " WINDOW ,Window mode time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
textline " "
|
|
bitfld.byte 0x00 0.--3. " PER ,Time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
line.byte 0x01 "EWCTRL,Early Warning Interrupt Control"
|
|
bitfld.byte 0x01 0.--3. " EWOFFSET ,Early warning interrupt time offset" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
else
|
|
group.byte 0x00++0x02
|
|
line.byte 0x00 "CTRL,Control"
|
|
bitfld.byte 0x00 7. " ALWAYSON ,Always-on" "WDT can be disabled through the ENABLE bit,WDT can only be disabled by a power-on reset"
|
|
textline " "
|
|
bitfld.byte 0x00 2. " WEN ,Watchdog timer window mode enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " ENABLE ,Watchdog enable" "Disabled,Enabled"
|
|
line.byte 0x01 "CONFIG,Configuration"
|
|
bitfld.byte 0x01 4.--7. " WINDOW ,Window mode time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
textline " "
|
|
bitfld.byte 0x01 0.--3. " PER ,Time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
line.byte 0x02 "EWCTRL,Early Warning Interrupt Control"
|
|
bitfld.byte 0x02 0.--3. " EWOFFSET ,Early warning interrupt time offset" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
endif
|
|
endif
|
|
else
|
|
group.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
bitfld.byte 0x00 7. " ALWAYSON ,Always-on" "Disabled through the ENABLE bit,Disabled by a POR"
|
|
textline " "
|
|
bitfld.byte 0x00 2. " WEN ,Watchdog timer window mode enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
group.byte 0x01++0x01
|
|
line.byte 0x00 "CONFIG,Configuration"
|
|
bitfld.byte 0x00 4.--7. " WINDOW ,Window mode time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
bitfld.byte 0x00 0.--3. " PER ,Time-out period" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
line.byte 0x01 "EWCTRL,Early Warning Interrupt Control"
|
|
bitfld.byte 0x01 0.--3. " EWOFFSET ,Early warning interrupt time offset" "8 clock cycles,16 clock cycles,32 clock cycles,64 clock cycles,128 clock cycles,256 clock cycles,512 clock cycles,1024 clock cycles,2048 clock cycles,4096 clock cycles,8192 clock cycles,16384 clock cycles,?..."
|
|
endif
|
|
group.byte 0x05++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " EW ,Early warning interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 0. " EW ,Early warning" "Not set,Set"
|
|
rgroup.byte 0x07++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
wgroup.byte 0x08++0x00
|
|
line.byte 0x00 "CLEAR,Clear"
|
|
width 0x0B
|
|
tree.end
|
|
tree "RTC (Real-Time Counter)"
|
|
base ad:0x40001400
|
|
width 15.
|
|
if ((per.w(ad:0x40001400+0x00)&0xC)==0x00)
|
|
group.word 0x00++0x05
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 8.--11. " PRESCALER ,Prescaler" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512,DIV1024,?..."
|
|
bitfld.word 0x00 7. " MATCHCLR ,Clear on match" "Not cleared,Cleared"
|
|
textline " "
|
|
bitfld.word 0x00 2.--3. " MODE ,Operating mode" "Mode 0: 32-bit counter,Mode 1: 16-bit counter,Mode 2: clock/calendar,Disabled"
|
|
textline " "
|
|
bitfld.word 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
line.word 0x02 "READREQ,Read Request"
|
|
bitfld.word 0x02 15. " RREQ ,Read request" "Low,High"
|
|
bitfld.word 0x02 14. " RCONT ,Read continuously" "Disabled,Enabled"
|
|
hexmask.word.byte 0x02 0.--5. 0x01 " ADDR ,Address"
|
|
line.word 0x04 "EVCTRL,Event Control"
|
|
bitfld.word 0x04 15. " OVFEO ,Overflow event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 8. " CMPEO0 ,Compare 0 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 7. " PEREO7 ,Periodic interval 7 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 6. " PEREO6 ,Periodic interval 6 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 5. " PEREO5 ,Periodic interval 5 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 4. " PEREO4 ,Periodic interval 4 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 3. " PEREO3 ,Periodic interval 3 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 2. " PEREO2 ,Periodic interval 2 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 1. " PEREO1 ,Periodic interval 1 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 0. " PEREO0 ,Periodic interval 0 event output enable" "Disabled,Enabled"
|
|
group.byte 0x07++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x01 7. " OVF ,Overflow interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 6. 0x00 6. -0x01 6. " SYNCRDY ,Synchronization ready interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " CMP0 ,Compare 0 interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 7. " OVF ,Overflow" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 6. " SYNCRDY ,Synchronization ready" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 0. " CMP0 ,Compare 0" "No interrupt,Interrupt"
|
|
rgroup.byte 0x0A++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
group.byte 0x0B++0x01
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Run during debug" "Halted,Continue"
|
|
line.byte 0x01 "FREQCORR,Frequency Correction"
|
|
bitfld.byte 0x01 7. " SIGN ,Correction sign" "Increased,Decreased"
|
|
hexmask.byte 0x01 0.--6. 1. " VALUE ,Correction value"
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "COUNT,Counter Value"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD20*"))
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "COMP0,Compare 0 Value"
|
|
else
|
|
group.long 0x18++0x0F
|
|
line.long 0x00 "COMP0,Compare 0 Value"
|
|
line.long 0x04 "COMP1,Compare 1 Value"
|
|
line.long 0x08 "COMP2,Compare 2 Value"
|
|
line.long 0x0C "COMP3,Compare 3 Value"
|
|
endif
|
|
elif ((per.w(ad:0x40001400+0x00)&0xC)==0x4)
|
|
group.word 0x00++0x05
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 8.--11. " PRESCALER ,Prescaler" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512,DIV1024,?..."
|
|
textline " "
|
|
bitfld.word 0x00 2.--3. " MODE ,Operating mode" "Mode 0: 32-bit counter,Mode 1: 16-bit counter,Mode 2: clock/calendar,Disabled"
|
|
textline " "
|
|
bitfld.word 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
line.word 0x02 "READREQ,Read Request"
|
|
bitfld.word 0x02 15. " RREQ ,Read request" "Low,High"
|
|
bitfld.word 0x02 14. " RCONT ,Read continuously" "Disabled,Enabled"
|
|
hexmask.word.byte 0x02 0.--5. 0x01 " ADDR ,Address"
|
|
line.word 0x04 "EVCTRL,Event Control"
|
|
bitfld.word 0x04 15. " OVFEO ,Overflow event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 9. " CMPEO1 ,Compare 1 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 8. " CMPEO0 ,Compare 0 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 7. " PEREO7 ,Periodic interval 7 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 6. " PEREO6 ,Periodic interval 6 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 5. " PEREO5 ,Periodic interval 5 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 4. " PEREO4 ,Periodic interval 4 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 3. " PEREO3 ,Periodic interval 3 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 2. " PEREO2 ,Periodic interval 2 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 1. " PEREO1 ,Periodic interval 1 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 0. " PEREO0 ,Periodic interval 0 event output enable" "Disabled,Enabled"
|
|
group.byte 0x07++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x01 7. " OVF ,Overflow interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 6. 0x00 6. -0x01 6. " SYNCRDY ,Synchronization ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x01 1. " CMP1 ,Compare 1 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " CMP0 ,Compare 0 interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 7. " OVF ,Overflow" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 6. " SYNCRDY ,Synchronization ready" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.byte 0x01 1. " CMP1 ,Compare 1" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 0. " CMP0 ,Compare 0" "No interrupt,Interrupt"
|
|
rgroup.byte 0x0A++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
group.byte 0x0B++0x01
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Run during debug" "Halted,Continue"
|
|
line.byte 0x01 "FREQCORR,Frequency Correction"
|
|
bitfld.byte 0x01 7. " SIGN ,Correction sign" "Increased,Decreased"
|
|
hexmask.byte 0x01 0.--6. 1. " VALUE ,Correction value"
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "COUNT,Counter Value"
|
|
group.word 0x14++0x01
|
|
line.word 0x00 "PER,Counter Period"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD20*"))
|
|
group.word 0x18++0x03
|
|
line.word 0x00 "COMP0,Compare 0 Value"
|
|
line.word 0x02 "COMP1,Compare 1 Value"
|
|
else
|
|
group.word 0x18++0x0D
|
|
line.word 0x00 "COMP0,Compare 0 Value"
|
|
line.word 0x02 "COMP1,Compare 1 Value"
|
|
line.word 0x04 "COMP2,Compare 2 Value"
|
|
line.word 0x06 "COMP3,Compare 3 Value"
|
|
line.word 0x08 "COMP4,Compare 4 Value"
|
|
line.word 0x0C "COMP5,Compare 5 Value"
|
|
endif
|
|
elif ((per.w(ad:0x40001400+0x00)&0xC)==0x8)
|
|
group.word 0x00++0x05
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 8.--11. " PRESCALER ,Prescaler" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512,DIV1024,?..."
|
|
bitfld.word 0x00 7. " MATCHCLR ,Clear on match" "Not cleared,Cleared"
|
|
bitfld.word 0x00 6. " CLKREP ,Clock representation" "24 hour,12 hour (AM/PM)"
|
|
textline " "
|
|
bitfld.word 0x00 2.--3. " MODE ,Operating mode" "Mode 0: 32-bit counter,Mode 1: 16-bit counter,Mode 2: clock/calendar,Disabled"
|
|
textline " "
|
|
bitfld.word 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
line.word 0x02 "READREQ,Read Request"
|
|
bitfld.word 0x02 15. " RREQ ,Read request" "Low,High"
|
|
bitfld.word 0x02 14. " RCONT ,Read continuously" "Disabled,Enabled"
|
|
textline " "
|
|
hexmask.word.byte 0x02 0.--5. 0x01 " ADDR ,Address"
|
|
line.word 0x04 "EVCTRL,Event Control"
|
|
bitfld.word 0x04 15. " OVFEO ,Overflow event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 8. " ALARMEO0 ,Alarm 0 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 7. " PEREO7 ,Periodic interval 7 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 6. " PEREO6 ,Periodic interval 6 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 5. " PEREO5 ,Periodic interval 5 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 4. " PEREO4 ,Periodic interval 4 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 3. " PEREO3 ,Periodic interval 3 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 2. " PEREO2 ,Periodic interval 2 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x04 1. " PEREO1 ,Periodic interval 1 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x04 0. " PEREO0 ,Periodic interval 0 event output enable" "Disabled,Enabled"
|
|
group.byte 0x07++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x01 7. " OVF ,Overflow interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 6. 0x00 6. -0x01 6. " SYNCRDY ,Synchronization ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x00 0. " ALARM0 ,Alarm 0 interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 7. " OVF ,Overflow" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 6. " SYNCRDY ,Synchronization ready" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 0. " ALARM0 ,Alarm 0" "No interrupt,Interrupt"
|
|
rgroup.byte 0x0A++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
group.byte 0x0B++0x01
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Run during debug" "Halted,Continue"
|
|
line.byte 0x01 "FREQCORR,Frequency Correction"
|
|
bitfld.byte 0x01 7. " SIGN ,Correction sign" "Increased,Decreased"
|
|
hexmask.byte 0x01 0.--6. 1. " VALUE ,Correction value"
|
|
if ((per.l(ad:0x40001400+0x10)&0x3C00000)==(0x400000||0xC00000||0x1400000||0x1C00000||0x2000000||0x2800000||0x3000000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x10)&0x3C00000)==0x800000)
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x10)&0x3C00000)==(0x800000||0x1000000||0x1800000||0x1C00000||0x2400000||0x2C00000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
else
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
else
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "CLOCK,Clock Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
endif
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ASAMD11*")||cpuis("ATSAMHA1G1?A")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD20*"))
|
|
if ((per.l(ad:0x40001400+0x18)&0x3C00000)==(0x400000||0xC00000||0x1400000||0x1C00000||0x2000000||0x2800000||0x3000000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x18)&0x3C00000)==0x800000)
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x18)&0x3C00000)==(0x800000||0x1000000||0x1800000||0x1C00000||0x2400000||0x2C00000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
else
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
else
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
endif
|
|
group.long 0x1C++0x03
|
|
line.long 0x00 "MASK0,Alarm 0 Mask"
|
|
bitfld.long 0x00 0.--2. " SEL ,Alarm mask selection" "OFF,SS,MMSS,HHMMSS,DDHHMMSS,MMDDHHMMSS,YYMMDDHHMMSS,-"
|
|
else
|
|
if ((per.l(ad:0x40001400+0x18)&0x3C00000)==(0x400000||0xC00000||0x1400000||0x1C00000||0x2000000||0x2800000||0x3000000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x18)&0x3C00000)==0x800000)
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x18)&0x3C00000)==(0x800000||0x1000000||0x1800000||0x1C00000||0x2400000||0x2C00000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
else
|
|
group.long 0x18++0x03
|
|
line.long 0x00 "ALARM0,Alarm 0 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
if ((per.l(ad:0x40001400+0x20)&0x3C00000)==(0x400000||0xC00000||0x1400000||0x1C00000||0x2000000||0x2800000||0x3000000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "ALARM1,Alarm 1 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "ALARM1,Alarm 1 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x20)&0x3C00000)==0x800000)
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "ALARM1,Alarm 1 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "ALARM1,Alarm 1 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x20)&0x3C00000)==(0x800000||0x1000000||0x1800000||0x1C00000||0x2400000||0x2C00000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "ALARM1,Alarm 1 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "ALARM1,Alarm 1 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
else
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "ALARM1,Alarm 1 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
if ((per.l(ad:0x40001400+0x28)&0x3C00000)==(0x400000||0xC00000||0x1400000||0x1C00000||0x2000000||0x2800000||0x3000000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "ALARM2,Alarm 2 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "ALARM2,Alarm 2 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x28)&0x3C00000)==0x800000)
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "ALARM2,Alarm 2 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "ALARM2,Alarm 2 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x28)&0x3C00000)==(0x800000||0x1000000||0x1800000||0x1C00000||0x2400000||0x2C00000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "ALARM2,Alarm 2 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "ALARM2,Alarm 2 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
else
|
|
group.long 0x28++0x03
|
|
line.long 0x00 "ALARM2,Alarm 2 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
if ((per.l(ad:0x40001400+0x30)&0x3C00000)==(0x400000||0xC00000||0x1400000||0x1C00000||0x2000000||0x2800000||0x3000000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x30++0x03
|
|
line.long 0x00 "ALARM3,Alarm 3 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x30++0x03
|
|
line.long 0x00 "ALARM3,Alarm 3 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x30)&0x3C00000)==0x800000)
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x30++0x03
|
|
line.long 0x00 "ALARM3,Alarm 3 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x30++0x03
|
|
line.long 0x00 "ALARM3,Alarm 3 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
elif ((per.l(ad:0x40001400+0x30)&0x3C00000)==(0x800000||0x1000000||0x1800000||0x1C00000||0x2400000||0x2C00000))
|
|
if ((per.w(ad:0x40001400+0x00)&0x40)==0x40)
|
|
group.long 0x30++0x03
|
|
line.long 0x00 "ALARM3,Alarm 3 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
elif ((per.w(ad:0x40001400+0x00)&0x40)==0x00)
|
|
group.long 0x30++0x03
|
|
line.long 0x00 "ALARM3,Alarm 3 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,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,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,-,-,-,-,-,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
else
|
|
group.long 0x30++0x03
|
|
line.long 0x00 "ALARM3,Alarm 3 Value"
|
|
hexmask.long.byte 0x00 26.--31. 1. " YEAR ,Year"
|
|
bitfld.long 0x00 22.--25. " MONTH ,Month" "-,January,February,March,April,May,June,July,August,September,October,November,December,-,-,-"
|
|
bitfld.long 0x00 17.--21. " DAY ,Day" "-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-"
|
|
textline " "
|
|
bitfld.long 0x00 12.--16. " HOUR ,Hour" "-,1AM,2AM,3AM,4AM,5AM,6AM,7AM,8AM,9AM,10AM,11AM,12AM,-,-,-,-,1PM,2PM,3PM,4PM,5PM,6PM,7PM,8PM,9PM,10PM,11PM,12PM,-,-,-"
|
|
bitfld.long 0x00 6.--11. " MINUTE ,Minute" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
bitfld.long 0x00 0.--5. " SECOND ,Second" "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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,-,-,-,-"
|
|
endif
|
|
group.long 0x1C++0x03
|
|
line.long 0x00 "MASK0,Alarm 0 Mask"
|
|
bitfld.long 0x00 0.--2. " SEL ,Alarm mask selection" "OFF,SS,MMSS,HHMMSS,DDHHMMSS,MMDDHHMMSS,YYMMDDHHMMSS,-"
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "MASK1,Alarm 1 Mask"
|
|
bitfld.long 0x00 0.--2. " SEL ,Alarm mask selection" "OFF,SS,MMSS,HHMMSS,DDHHMMSS,MMDDHHMMSS,YYMMDDHHMMSS,-"
|
|
group.long 0x2C++0x03
|
|
line.long 0x00 "MASK2,Alarm 2 Mask"
|
|
bitfld.long 0x00 0.--2. " SEL ,Alarm mask selection" "OFF,SS,MMSS,HHMMSS,DDHHMMSS,MMDDHHMMSS,YYMMDDHHMMSS,-"
|
|
group.long 0x34++0x03
|
|
line.long 0x00 "MASK3,Alarm 3 Mask"
|
|
bitfld.long 0x00 0.--2. " SEL ,Alarm mask selection" "OFF,SS,MMSS,HHMMSS,DDHHMMSS,MMDDHHMMSS,YYMMDDHHMMSS,-"
|
|
endif
|
|
elif ((per.w(ad:0x40001400+0x00)&0xC)==0x0C)
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRL,Control"
|
|
textline " "
|
|
bitfld.word 0x00 2.--3. " MODE ,Operating mode" "Mode 0: 32-bit counter,Mode 1: 16-bit counter,Mode 2: clock/calendar,Disabled"
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree "DMAC (Direct Memory Access Controller)"
|
|
tree "DMAC Registers"
|
|
base ad:0x41004800
|
|
width 17.
|
|
sif cpuis("ATSAMD21*")
|
|
if (((per.w(ad:0x41004800+0x00))&0x06)==0x00)
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 11. " LVLEN3 ,Priority level 3 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 10. " LVLEN2 ,Priority level 2 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 9. " LVLEN1 ,Priority level 1 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 8. " LVLEN0 ,Priority level 0 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 2. " CRCENABLE ,CRC enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 1. " DMAENABLE ,DMA enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 11. " LVLEN3 ,Priority level 3 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 10. " LVLEN2 ,Priority level 2 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 9. " LVLEN1 ,Priority level 1 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 8. " LVLEN0 ,Priority level 0 enable" "Disabled,Enabled"
|
|
rbitfld.word 0x00 2. " CRCENABLE ,CRC enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 1. " DMAENABLE ,DMA enable" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
elif cpuis("ATSAMDA1*")
|
|
if (((per.w(ad:0x41004800+0x00))&0x06)==0x00)
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 11. " LVLEN3 ,Priority level 3 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 10. " LVLEN2 ,Priority level 2 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 9. " LVLEN1 ,Priority level 1 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 8. " LVLEN0 ,Priority level 0 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 2. " CRCENABLE ,CRC enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 1. " DMAENABLE ,DMA enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 11. " LVLEN3 ,Priority level 3 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 10. " LVLEN2 ,Priority level 2 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 9. " LVLEN1 ,Priority level 1 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 8. " LVLEN0 ,Priority level 0 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 2. " CRCENABLE ,CRC enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 1. " DMAENABLE ,DMA enable" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
else
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRL,Control"
|
|
bitfld.word 0x00 11. " LVLEN3 ,Priority level 3 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 10. " LVLEN2 ,Priority level 2 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 9. " LVLEN1 ,Priority level 1 enable" "Disabled,Enabled"
|
|
textline " "
|
|
sif cpuis("ATSAML21*")
|
|
bitfld.word 0x00 8. " LVLEN0 ,Priority level 0 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 1. " DMAENABLE ,DMA enable" "Disabled,Enabled"
|
|
textline " "
|
|
else
|
|
bitfld.word 0x00 8. " LVLEN0 ,Priority level 0 enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 2. " CRCENABLE ,CRC enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 1. " DMAENABLE ,DMA enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
sif cpuis("ATSAML21*")
|
|
if (((per.b(ad:0x41004800+0x0C))&0x01)==0x00)
|
|
group.word 0x02++0x01
|
|
line.word 0x00 "CRCCTRL,CRC Control"
|
|
bitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,Channel 12,Channel 13,Channel 14,Channel 15,?..."
|
|
bitfld.word 0x00 2.--3. " CRCPOLY ,CRC polynomial type" "CRC16,CRC32,?..."
|
|
bitfld.word 0x00 0.--1. " CRCBEATSIZE ,CRC beat size" "BYTE,HWORD,WORD,?..."
|
|
else
|
|
group.word 0x02++0x01
|
|
line.word 0x00 "CRCCTRL,CRC Control"
|
|
rbitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,Channel 12,Channel 13,Channel 14,Channel 15,?..."
|
|
bitfld.word 0x00 2.--3. " CRCPOLY ,CRC polynomial type" "CRC16,CRC32,?..."
|
|
bitfld.word 0x00 0.--1. " CRCBEATSIZE ,CRC beat size" "BYTE,HWORD,WORD,?..."
|
|
endif
|
|
else
|
|
if ((((per.b(ad:0x41004800+0x0C))&0x01)==0x00)&&(((per.b(ad:0x41004800+0x00))&0x04)==0x00))
|
|
group.word 0x02++0x01
|
|
line.word 0x00 "CRCCTRL,CRC Control"
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,?..."
|
|
else
|
|
bitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,Channel 12,Channel 13,Channel 14,Channel 15,?..."
|
|
endif
|
|
bitfld.word 0x00 2.--3. " CRCPOLY ,CRC polynomial type" "CRC16,CRC32,?..."
|
|
bitfld.word 0x00 0.--1. " CRCBEATSIZE ,CRC beat size" "BYTE,HWORD,WORD,?..."
|
|
elif ((((per.b(ad:0x41004800+0x0C))&0x01)==0x01)&&(((per.b(ad:0x41004800+0x00))&0x04)==0x00))
|
|
group.word 0x02++0x01
|
|
line.word 0x00 "CRCCTRL,CRC Control"
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
rbitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
rbitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,?..."
|
|
else
|
|
rbitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,Channel 12,Channel 13,Channel 14,Channel 15,?..."
|
|
endif
|
|
bitfld.word 0x00 2.--3. " CRCPOLY ,CRC polynomial type" "CRC16,CRC32,?..."
|
|
bitfld.word 0x00 0.--1. " CRCBEATSIZE ,CRC beat size" "BYTE,HWORD,WORD,?..."
|
|
else
|
|
rgroup.word 0x02++0x01
|
|
line.word 0x00 "CRCCTRL,CRC Control"
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,?..."
|
|
else
|
|
bitfld.word 0x00 8.--13. " CRCSRC ,CRC input source" "No action,I/O interface,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Channel 0,Channel 1,Channel 2,Channel 3,Channel 4,Channel 5,Channel 6,Channel 7,Channel 8,Channel 9,Channel 10,Channel 11,Channel 12,Channel 13,Channel 14,Channel 15,?..."
|
|
endif
|
|
bitfld.word 0x00 2.--3. " CRCPOLY ,CRC polynomial type" "CRC16,CRC32,?..."
|
|
bitfld.word 0x00 0.--1. " CRCBEATSIZE ,CRC beat size" "BYTE,HWORD,WORD,?..."
|
|
endif
|
|
endif
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CRCDATAIN,CRC Data Input"
|
|
sif cpuis("ATSAMD21*")
|
|
if (((per.b(ad:0x41004800+0x0C))&0x01)==0x00)&&(((per.w(ad:0x41004800+0x00))&0x04)==0x00)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "CRCCHKSUM,CRC Checksum"
|
|
elif (((per.b(ad:0x41004800+0x0C))&0x01)==0x00)&&(((per.w(ad:0x41004800+0x00))&0x04)==0x04)
|
|
rgroup.long 0x08++0x03
|
|
line.long 0x00 "CRCCHKSUM,CRC Checksum"
|
|
else
|
|
hgroup.long 0x08++0x03
|
|
hide.long 0x00 "CRCCHKSUM,CRC Checksum"
|
|
endif
|
|
elif cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAML21*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMR21*")||cpuis("ATSAMDA1*")
|
|
if (((per.b(ad:0x41004800+0x0C))&0x01)==0x00)
|
|
group.long 0x08++0x03
|
|
line.long 0x00 "CRCCHKSUM,CRC Checksum"
|
|
else
|
|
hgroup.long 0x08++0x03
|
|
hide.long 0x00 "CRCCHKSUM,CRC Checksum"
|
|
in
|
|
endif
|
|
endif
|
|
sif cpuis("ATSAML21*")||cpuis("ATSAMDA1*")
|
|
if (((per.w(ad:0x41004800+0x02))&0x3F00)==0x100)
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "CRCSTATUS,CRC Status"
|
|
rbitfld.byte 0x00 1. " CRCZERO ,CRC zero" "CRC source,CRC gen. completed"
|
|
eventfld.byte 0x00 0. " CRCBUSY ,CRC module busy" "CRCDATAIN is not written,CRCDATAIN is written"
|
|
elif (((per.w(ad:0x41004800+0x02))&0x3F00)>=0x2000)
|
|
rgroup.byte 0x0C++0x00
|
|
line.byte 0x00 "CRCSTATUS,CRC Status"
|
|
bitfld.byte 0x00 1. " CRCZERO ,CRC zero" "CRC source,CRC gen. completed"
|
|
bitfld.byte 0x00 0. " CRCBUSY ,CRC module busy" "Channel disabled,Channel enabled"
|
|
else
|
|
rgroup.byte 0x0C++0x00
|
|
line.byte 0x00 "CRCSTATUS,CRC Status"
|
|
bitfld.byte 0x00 1. " CRCZERO ,CRC zero" "CRC source,CRC gen. completed"
|
|
endif
|
|
elif cpuis("ATSAMD21*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
if (((per.w(ad:0x41004800+0x02))&0x3F00)==0x100)
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "CRCSTATUS,CRC Status"
|
|
rbitfld.byte 0x00 1. " CRCZERO ,CRC zero" "CRC source,CRC gen. completed"
|
|
eventfld.byte 0x00 0. " CRCBUSY ,CRC module busy" "Idle,Busy"
|
|
else
|
|
rgroup.byte 0x0C++0x00
|
|
line.byte 0x00 "CRCSTATUS,CRC Status"
|
|
bitfld.byte 0x00 1. " CRCZERO ,CRC zero" "CRC source,CRC gen. completed"
|
|
bitfld.byte 0x00 0. " CRCBUSY ,CRC module busy" "Idle,Busy"
|
|
endif
|
|
else
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "CRCSTATUS,CRC Status"
|
|
rbitfld.byte 0x00 1. " CRCZERO ,CRC zero" "CRC source,CRC gen. completed"
|
|
bitfld.byte 0x00 0. " CRCBUSY ,CRC module busy" "Idle,Busy"
|
|
endif
|
|
group.byte 0x0D++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Debug run" "Halted,Continued"
|
|
sif cpuis("ATSAMR21*")||cpuis("ATSAMD21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAML21*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*")
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "QOSCTRL,QOS Control"
|
|
bitfld.byte 0x00 4.--5. " DQOS ,DATA quality of service" "Disabled,Low,Medium,High"
|
|
bitfld.byte 0x00 2.--3. " FQOS ,Fetch quality of service" "Disabled,Low,Medium,High"
|
|
bitfld.byte 0x00 0.--1. " WRQOS ,WB quality of service" "Disabled,Low,Medium,High"
|
|
endif
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "SWTRIGCTRL,Software Trigger Control"
|
|
sif cpuis("ATSAML21*")
|
|
bitfld.long 0x00 15. " SWTRIG_15 ,Channel 15 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 14. " SWTRIG_14 ,Channel 14 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 13. " SWTRIG_13 ,Channel 13 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 12. " SWTRIG_12 ,Channel 12 software trigger" "Not pending,Pending"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x00 11. " SWTRIG_11 ,Channel 11 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 10. " SWTRIG_10 ,Channel 10 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 9. " SWTRIG_9 ,Channel 9 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 8. " SWTRIG_8 ,Channel 8 software trigger" "Not pending,Pending"
|
|
textline " "
|
|
bitfld.long 0x00 7. " SWTRIG_7 ,Channel 7 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 6. " SWTRIG_6 ,Channel 6 software trigger" "Not pending,Pending"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 5. " SWTRIG_5 ,Channel 5 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 4. " SWTRIG_4 ,Channel 4 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 3. " SWTRIG_3 ,Channel 3 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 2. " SWTRIG_2 ,Channel 2 software trigger" "Not pending,Pending"
|
|
textline " "
|
|
bitfld.long 0x00 1. " SWTRIG_1 ,Channel 1 software trigger" "Not pending,Pending"
|
|
bitfld.long 0x00 0. " SWTRIG_0 ,Channel 0 software trigger" "Not pending,Pending"
|
|
sif cpuis("ATSAMD10*")||cpuis("ATSAMD11*")
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "PRICTRL0,Priority Control 0"
|
|
bitfld.long 0x00 31. " RRLVLEN3 ,Level 3 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 24.--26. " LVLPRI3 ,Level 3 channel priority number" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 23. " RRLVLEN2 ,Level 2 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16.--18. " LVLPRI2 ,Level 2 channel priority number" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 15. " RRLVLEN1 ,Level 1 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8.--10. " LVLPRI1 ,Level 1 channel priority number" "0,1,2,3,4,5,6,7"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RRLVLEN0 ,Level 0 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0.--2. " LVLPRI0 ,Level 0 channel priority number" "0,1,2,3,4,5,6,7"
|
|
else
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "PRICTRL0,Priority Control 0"
|
|
bitfld.long 0x00 31. " RRLVLEN3 ,Level 3 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x00 24.--27. " LVLPRI3 ,Level 3 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 24.--26. " LVLPRI3 ,Level 3 channel priority number" "0,1,2,3,4,5,?..."
|
|
else
|
|
bitfld.long 0x00 24.--27. " LVLPRI3 ,Level 3 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 23. " RRLVLEN2 ,Level 2 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x00 16.--19. " LVLPRI2 ,Level 2 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 16.--18. " LVLPRI2 ,Level 2 channel priority number" "0,1,2,3,4,5,?..."
|
|
else
|
|
bitfld.long 0x00 16.--19. " LVLPRI2 ,Level 2 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 15. " RRLVLEN1 ,Level 1 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x00 8.--11. " LVLPRI1 ,Level 1 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 8.--10. " LVLPRI1 ,Level 1 channel priority number" "0,1,2,3,4,5,?..."
|
|
else
|
|
bitfld.long 0x00 8.--11. " LVLPRI1 ,Level 1 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 7. " RRLVLEN0 ,Level 0 Round-Robin scheduling enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x00 0.--3. " LVLPRI0 ,Level 0 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 0.--2. " LVLPRI0 ,Level 0 channel priority number" "0,1,2,3,4,5,?..."
|
|
else
|
|
bitfld.long 0x00 0.--3. " LVLPRI0 ,Level 0 channel priority number" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
endif
|
|
endif
|
|
if (((per.w(ad:0x41004800+0x20))&0x400)==0x400)||(((per.w(ad:0x41004800+0x20))&0x200)==0x200)||(((per.w(ad:0x41004800+0x20))&0x100)==0x100)
|
|
group.word 0x20++0x01
|
|
line.word 0x00 "INTPEND,Interrupt Pending"
|
|
rbitfld.word 0x00 15. " PEND ,Pending" "Not pending,Pending"
|
|
rbitfld.word 0x00 14. " BUSY ,Busy" "Idle,Busy"
|
|
rbitfld.word 0x00 13. " FERR ,Fetch error" "No error,Error"
|
|
textline " "
|
|
eventfld.word 0x00 10. " SUSP ,Channel suspend" "Not suspended,Suspended"
|
|
eventfld.word 0x00 9. " TCMPL ,Transfer complete" "Not completed,Completed"
|
|
eventfld.word 0x00 8. " TERR ,Transfer error" "No error,Error"
|
|
textline " "
|
|
sif cpuis("ATSAMD10*")||cpuis("ATSAMD11*")
|
|
bitfld.word 0x00 0.--2. " ID ,Channel ID" "0,1,2,3,4,5,6,7"
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.word 0x00 0.--2. " ID ,Channel ID" "0,1,2,3,4,5,?..."
|
|
elif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.word 0x00 0.--3. " ID ,Channel ID" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
else
|
|
bitfld.word 0x00 0.--3. " ID ,Channel ID" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
endif
|
|
else
|
|
group.word 0x20++0x01
|
|
line.word 0x00 "INTPEND,Interrupt Pending"
|
|
rbitfld.word 0x00 15. " PEND ,Pending" "Not pending,Pending"
|
|
rbitfld.word 0x00 14. " BUSY ,Busy" "Idle,Busy"
|
|
rbitfld.word 0x00 13. " FERR ,Fetch error" "No error,Error"
|
|
textline " "
|
|
eventfld.word 0x00 10. " SUSP ,Channel suspend" "Not suspended,Suspended"
|
|
eventfld.word 0x00 9. " TCMPL ,Transfer complete" "Not completed,Completed"
|
|
eventfld.word 0x00 8. " TERR ,Transfer error" "No error,Error"
|
|
endif
|
|
rgroup.long 0x24++0x0B
|
|
line.long 0x00 "INTSTATUS,Interrupt Status"
|
|
sif cpuis("ATSAML21*")
|
|
bitfld.long 0x00 15. " CHINT_15 ,Channel 15 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 14. " CHINT_14 ,Channel 14 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 13. " CHINT_13 ,Channel 13 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 12. " CHINT_12 ,Channel 12 pending interrupt" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x00 11. " CHINT_11 ,Channel 11 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 10. " CHINT_10 ,Channel 10 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 9. " CHINT_9 ,Channel 9 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " CHINT_8 ,Channel 8 pending interrupt" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 7. " CHINT_7 ,Channel 7 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 6. " CHINT_6 ,Channel 6 pending interrupt" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 5. " CHINT_5 ,Channel 5 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 4. " CHINT_4 ,Channel 4 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 3. " CHINT_3 ,Channel 3 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 2. " CHINT_2 ,Channel 2 pending interrupt" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 1. " CHINT_1 ,Channel 1 pending interrupt" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " CHINT_0 ,Channel 0 pending interrupt" "Disabled,Enabled"
|
|
line.long 0x04 "BUSYCH,Busy Channels"
|
|
sif cpuis("ATSAML21*")
|
|
bitfld.long 0x04 15. " BUSYCH_15 ,Busy channel 15" "Idle,Busy"
|
|
bitfld.long 0x04 14. " BUSYCH_14 ,Busy channel 14" "Idle,Busy"
|
|
bitfld.long 0x04 13. " BUSYCH_13 ,Busy channel 13" "Idle,Busy"
|
|
bitfld.long 0x04 12. " BUSYCH_12 ,Busy channel 12" "Idle,Busy"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x04 11. " BUSYCH_11 ,Busy channel 11" "Idle,Busy"
|
|
bitfld.long 0x04 10. " BUSYCH_10 ,Busy channel 10" "Idle,Busy"
|
|
bitfld.long 0x04 9. " BUSYCH_9 ,Busy channel 9" "Idle,Busy"
|
|
bitfld.long 0x04 8. " BUSYCH_8 ,Busy channel 8" "Idle,Busy"
|
|
textline " "
|
|
bitfld.long 0x04 7. " BUSYCH_7 ,Busy channel 7" "Idle,Busy"
|
|
bitfld.long 0x04 6. " BUSYCH_6 ,Busy channel 6" "Idle,Busy"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 5. " BUSYCH_5 ,Busy channel 5" "Idle,Busy"
|
|
bitfld.long 0x04 4. " BUSYCH_4 ,Busy channel 4" "Idle,Busy"
|
|
bitfld.long 0x04 3. " BUSYCH_3 ,Busy channel 3" "Idle,Busy"
|
|
bitfld.long 0x04 2. " BUSYCH_2 ,Busy channel 2" "Idle,Busy"
|
|
textline " "
|
|
bitfld.long 0x04 1. " BUSYCH_1 ,Busy channel 1" "Idle,Busy"
|
|
bitfld.long 0x04 0. " BUSYCH_0 ,Busy channel 0" "Idle,Busy"
|
|
line.long 0x08 "PENDCH,Pending Channels"
|
|
sif cpuis("ATSAML21*")
|
|
bitfld.long 0x08 15. " PENDCH_15 ,Pending channel 15" "Not pending,Pending"
|
|
bitfld.long 0x08 14. " PENDCH_14 ,Pending channel 14" "Not pending,Pending"
|
|
bitfld.long 0x08 13. " PENDCH_13 ,Pending channel 13" "Not pending,Pending"
|
|
bitfld.long 0x08 12. " PENDCH_12 ,Pending channel 12" "Not pending,Pending"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x08 11. " PENDCH_11 ,Pending channel 11" "Not pending,Pending"
|
|
bitfld.long 0x08 10. " PENDCH_10 ,Pending channel 10" "Not pending,Pending"
|
|
bitfld.long 0x08 9. " PENDCH_9 ,Pending channel 9" "Not pending,Pending"
|
|
textline " "
|
|
bitfld.long 0x08 8. " PENDCH_8 ,Pending channel 8" "Not pending,Pending"
|
|
bitfld.long 0x08 7. " PENDCH_7 ,Pending channel 7" "Not pending,Pending"
|
|
bitfld.long 0x08 6. " PENDCH_6 ,Pending channel 6" "Not pending,Pending"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x08 5. " PENDCH_5 ,Pending channel 5" "Not pending,Pending"
|
|
bitfld.long 0x08 4. " PENDCH_4 ,Pending channel 4" "Not pending,Pending"
|
|
bitfld.long 0x08 3. " PENDCH_3 ,Pending channel 3" "Not pending,Pending"
|
|
bitfld.long 0x08 2. " PENDCH_2 ,Pending channel 2" "Not pending,Pending"
|
|
textline " "
|
|
bitfld.long 0x08 1. " PENDCH_1 ,Pending channel 1" "Not pending,Pending"
|
|
bitfld.long 0x08 0. " PENDCH_0 ,Pending channel 0" "Not pending,Pending"
|
|
if (((per.l(ad:0x41004800+0x30))&0x8000)==0x00)
|
|
rgroup.long 0x30++0x03
|
|
line.long 0x00 "ACTIVE,Active Channel and Levels"
|
|
bitfld.long 0x00 15. " ABUSY ,Active channel busy" "Idle,Busy"
|
|
textline " "
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x00 8.--12. " ID ,Active channel ID" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 8.--12. " ID ,Active channel ID" "0,1,2,3,4,5,?..."
|
|
else
|
|
bitfld.long 0x00 8.--12. " ID ,Active channel ID" "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
|
|
textline " "
|
|
bitfld.long 0x00 3. " LVLEX3 ,Level 3 channel trigger request executing" "Not requested,Requested"
|
|
bitfld.long 0x00 2. " LVLEX2 ,Level 2 channel trigger request executing" "Not requested,Requested"
|
|
bitfld.long 0x00 1. " LVLEX1 ,Level 1 channel trigger request executing" "Not requested,Requested"
|
|
textline " "
|
|
bitfld.long 0x00 0. " LVLEX0 ,Level 0 channel trigger request executing" "Not requested,Requested"
|
|
else
|
|
rgroup.long 0x30++0x03
|
|
line.long 0x00 "ACTIVE,Active Channel and Levels"
|
|
hexmask.long.word 0x00 16.--31. 1. " BTCNT ,Active channel block transfer count"
|
|
bitfld.long 0x00 15. " ABUSY ,Active channel busy" "Idle,Busy"
|
|
textline " "
|
|
sif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.long 0x00 8.--12. " ID ,Active channel ID" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 8.--12. " ID ,Active channel ID" "0,1,2,3,4,5,?..."
|
|
else
|
|
bitfld.long 0x00 8.--12. " ID ,Active channel ID" "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
|
|
textline " "
|
|
bitfld.long 0x00 3. " LVLEX3 ,Level 3 channel trigger request executing" "Not requested,Requested"
|
|
bitfld.long 0x00 2. " LVLEX2 ,Level 2 channel trigger request executing" "Not requested,Requested"
|
|
bitfld.long 0x00 1. " LVLEX1 ,Level 1 channel trigger request executing" "Not requested,Requested"
|
|
textline " "
|
|
bitfld.long 0x00 0. " LVLEX0 ,Level 0 channel trigger request executing" "Not requested,Requested"
|
|
endif
|
|
if (((per.w(ad:0x41004800))&0x02)==0x00)
|
|
group.long 0x34++0x07
|
|
line.long 0x00 "BASEADDR,Descriptor Memory Section Base Address"
|
|
line.long 0x04 "WRBADDR,Write-Back Memory Section Base Address"
|
|
else
|
|
rgroup.long 0x34++0x07
|
|
line.long 0x00 "BASEADDR,Descriptor Memory Section Base Address"
|
|
line.long 0x04 "WRBADDR,Write-Back Memory Section Base Address"
|
|
endif
|
|
group.byte 0x3F++0x00
|
|
line.byte 0x00 "CHID,Channel ID"
|
|
sif cpuis("ATSAMD10*")||cpuis("ATSAMD11*")
|
|
bitfld.byte 0x00 0.--2. " ID ,Channel ID" "0,1,2,3,4,5,6,7"
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.byte 0x00 0.--2. " ID ,Channel ID" "0,1,2,3,4,5,?..."
|
|
elif cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
bitfld.byte 0x00 0.--3. " ID ,Channel ID" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
else
|
|
bitfld.byte 0x00 0.--3. " ID ,Channel ID" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
|
|
endif
|
|
sif (cpuis("ATSAMDA1*"))
|
|
if (((per.l(ad:0x41004800))&0x06)==0x06)
|
|
group.byte 0x40++0x00
|
|
line.byte 0x00 "CHCTRLA,Channel Control A"
|
|
bitfld.byte 0x00 1. " ENABLE ,Channel enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " SWRST ,Channel software reset" "No reset,Reset"
|
|
else
|
|
group.byte 0x40++0x00
|
|
line.byte 0x00 "CHCTRLA,Channel Control A"
|
|
bitfld.byte 0x00 1. " ENABLE ,Channel enable" "Disabled,Enabled"
|
|
rbitfld.byte 0x00 0. " SWRST ,Channel software reset" "No reset,Reset"
|
|
endif
|
|
else
|
|
if (((per.l(ad:0x41004800+0x40))&0x02)==0x00)
|
|
group.byte 0x40++0x00
|
|
line.byte 0x00 "CHCTRLA,Channel Control A"
|
|
sif cpuis("ATSAML21*")
|
|
bitfld.byte 0x00 6. " RUNSTDBY ,Channel run in standby" "Halted,Running"
|
|
bitfld.byte 0x00 1. " ENABLE ,Channel enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " SWRST ,Channel software reset" "No reset,Reset"
|
|
else
|
|
bitfld.byte 0x00 1. " ENABLE ,Channel enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " SWRST ,Channel software reset" "No reset,Reset"
|
|
endif
|
|
else
|
|
group.byte 0x40++0x00
|
|
line.byte 0x00 "CHCTRLA,Channel Control A"
|
|
sif cpuis("ATSAML21*")
|
|
bitfld.byte 0x00 6. " RUNSTDBY ,Channel run in standby" "Halted,Running"
|
|
bitfld.byte 0x00 1. " ENABLE ,Channel enable" "Disabled,Enabled"
|
|
rbitfld.byte 0x00 0. " SWRST ,Channel software reset" "No reset,Reset"
|
|
else
|
|
bitfld.byte 0x00 1. " ENABLE ,Channel enable" "Disabled,Enabled"
|
|
rbitfld.byte 0x00 0. " SWRST ,Channel software reset" "No reset,Reset"
|
|
endif
|
|
endif
|
|
endif
|
|
if (((per.l(ad:0x41004800+0x40))&0x02)==0x00)
|
|
group.long 0x44++0x03
|
|
line.long 0x00 "CHCTRLB,Channel Control B"
|
|
bitfld.long 0x00 24.--25. " CMD ,Software command" "No action,Suspend,Resume,?..."
|
|
bitfld.long 0x00 22.--23. " TRIGACT ,Trigger action" "Block,,Beat,Transaction"
|
|
textline " "
|
|
sif cpu()=="ATSAMD21E15L"||cpu()=="ATSAMD21E16L"
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,,,,,,,ADC RESRDY,DAC0 EMPTY,?..."
|
|
elif cpu()=="ATSAMD21G16L"
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC0 EMPTY,?..."
|
|
elif cpuis("ATSAMD21E*")
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,,,,,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,,,,,,,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
elif cpuis("ATASAMD21*")
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
elif cpuis("ATSAMR21*")
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,,,,,,,ADC RESRDY,?..."
|
|
elif cpuis("ATSAMD10*")||cpuis("ATSAMD11*")
|
|
bitfld.long 0x00 8.--12. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,ADC RESRDY,DAC EMPTY,?..."
|
|
elif cpuis("ATSAML21*")
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC0 OVF,TC0 MC0,TC0 MC1,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,ADC RESRDY,DAC0 EMPTY,DAC1 EMPTY,,,,AES WR,AES RD,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 8.--12. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,,,,,,,,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,ADC RESRDY,?..."
|
|
elif cpuis("ATSAMDA1*")
|
|
sif cpuis("ATSAMDA1E*")
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,,,,,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
else
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
endif
|
|
else
|
|
bitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,I2S TX 1,?..."
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 5.--6. " LVL ,Channel arbitration level" "LVL0,LVL1,LVL2,LVL3"
|
|
bitfld.long 0x00 4. " EVOE ,Channel event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 3. " EVIE ,Channel event input enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0.--2. " EVACT ,Event input action" "No action,TRIG,CTRIG,CBLOCK,SUSPEND,RESUME,SSKIP,?..."
|
|
else
|
|
group.long 0x44++0x03
|
|
line.long 0x00 "CHCTRLB,Channel Control B"
|
|
bitfld.long 0x00 24.--25. " CMD ,Software command" "No action,Suspend,Resume,?..."
|
|
rbitfld.long 0x00 22.--23. " TRIGACT ,Trigger action" "Block,,Beat,Transaction"
|
|
textline " "
|
|
sif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")||(cpu()=="ATSAMD21G16L")
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC0 EMPTY,?..."
|
|
elif cpuis("ATSAMD21E*")
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,,,,,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,,,,,,,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
elif cpuis("ATASAMD21*")
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
elif cpuis("ATSAMR21*")
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,,,,,,,ADC RESRDY,?..."
|
|
elif cpuis("ATSAMD10*")||cpuis("ATSAMD11*")
|
|
rbitfld.long 0x00 8.--12. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,ADC RESRDY,DAC EMPTY,?..."
|
|
elif cpuis("ATSAML21*")
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC0 OVF,TC0 MC0,TC0 MC1,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,ADC RESRDY,DAC0 EMPTY,DAC1 EMPTY,,,,AES WR,AES RD,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 8.--12. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,,,,,,,,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,ADC RESRDY,?..."
|
|
elif cpuis("ATSAMDA1*")
|
|
sif cpuis("ATSAMDA1E*")
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,,,,,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
else
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,T2S TX 1,?..."
|
|
endif
|
|
else
|
|
rbitfld.long 0x00 8.--13. " TRIGSRC ,Peripheral trigger source" "Disabled,SERCOM0 RX,SERCOM0 TX,SERCOM1 RX,SERCOM1 TX,SERCOM2 RX,SERCOM2 TX,SERCOM3 RX,SERCOM3 TX,SERCOM4 RX,SERCOM4 TX,SERCOM5 RX,SERCOM5 TX,TCC0 OVF,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 OVF,TCC1 MC0,TCC1 MC1,TCC2 OVF,TCC2 MC0,TCC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,DAC EMPTY,I2S RX 0,I2S RX 1,I2S TX 0,I2S TX 1,?..."
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 5.--6. " LVL ,Channel arbitration level" "LVL0,LVL1,LVL2,LVL3"
|
|
rbitfld.long 0x00 4. " EVOE ,Channel event output enable" "Disabled,Enabled"
|
|
rbitfld.long 0x00 3. " EVIE ,Channel event input enable" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.long 0x00 0.--2. " EVACT ,Event input action" "No action,TRIG,CTRIG,CBLOCK,SUSPEND,RESUME,SSKIP,?..."
|
|
endif
|
|
group.byte 0x4D++0x01
|
|
line.byte 0x00 "CHINTEN_SET/CLR,Channel Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x01 2. " SUSP ,Channel suspend interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x01 1. " TCMPL ,Transfer complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " TERR ,Transfer error interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "CHINTFLAG,Channel Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 2. " SUSP ,Channel suspend interrupt flag" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 1. " TCMPL ,Transfer complete interrupt flag" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 0. " TERR ,Transfer error interrupt flag" "No interrupt,Interrupt"
|
|
rgroup.byte 0x4F++0x00
|
|
line.byte 0x00 "CHSTATUS,Channel Status"
|
|
bitfld.byte 0x00 2. " FERR ,Fetch error" "No error,Error"
|
|
bitfld.byte 0x00 1. " BUSY ,Channel busy" "Idle,Busy"
|
|
bitfld.byte 0x00 0. " PEND ,Channel pending" "Not pending,Pending"
|
|
width 0x0B
|
|
tree.end
|
|
tree "DMAC SRAM Registers"
|
|
tree "Channel 0"
|
|
base ad:(per.long(ad:0x41004834)+0x0)
|
|
width 10.
|
|
group.word 0x00++0x03
|
|
line.word 0x00 "BTCTRL,Block Transfer Control"
|
|
bitfld.word 0x00 13.--15. " STEPSIZE ,Address increment step size" "1,2,4,8,16,32,64,128"
|
|
bitfld.word 0x00 12. " STEPSEL ,Step selection" "DST,SRC"
|
|
bitfld.word 0x00 11. " DSTINC ,Destination address increment enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.word 0x00 10. " SRCINC ,Source address increment enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8.--9. " BEATSIZE ,Beat size" "8-bit,16-bit,32-bit,?..."
|
|
bitfld.word 0x00 3.--4. " BLOCKACT ,Block action" "No action,Int,Suspend,Both"
|
|
newline
|
|
bitfld.word 0x00 1.--2. " EVOSEL ,Event output selection" "Disabled,Block,,Beat"
|
|
bitfld.word 0x00 0. " VALID ,Descriptor valid" "Not valid,Valid"
|
|
line.word 0x02 "BTCNT,Block Transfer Count"
|
|
group.long 0x04++0x0B
|
|
line.long 0x00 "SRCADDR,Transfer Source Address"
|
|
line.long 0x04 "DSTADDR,Transfer Destination Address"
|
|
line.long 0x08 "DESCADDR,Next Descriptor Address"
|
|
width 0x0B
|
|
tree.end
|
|
tree "Channel 1"
|
|
base ad:(per.long(ad:0x41004834)+0x10)
|
|
width 10.
|
|
group.word 0x00++0x03
|
|
line.word 0x00 "BTCTRL,Block Transfer Control"
|
|
bitfld.word 0x00 13.--15. " STEPSIZE ,Address increment step size" "1,2,4,8,16,32,64,128"
|
|
bitfld.word 0x00 12. " STEPSEL ,Step selection" "DST,SRC"
|
|
bitfld.word 0x00 11. " DSTINC ,Destination address increment enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.word 0x00 10. " SRCINC ,Source address increment enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8.--9. " BEATSIZE ,Beat size" "8-bit,16-bit,32-bit,?..."
|
|
bitfld.word 0x00 3.--4. " BLOCKACT ,Block action" "No action,Int,Suspend,Both"
|
|
newline
|
|
bitfld.word 0x00 1.--2. " EVOSEL ,Event output selection" "Disabled,Block,,Beat"
|
|
bitfld.word 0x00 0. " VALID ,Descriptor valid" "Not valid,Valid"
|
|
line.word 0x02 "BTCNT,Block Transfer Count"
|
|
group.long 0x04++0x0B
|
|
line.long 0x00 "SRCADDR,Transfer Source Address"
|
|
line.long 0x04 "DSTADDR,Transfer Destination Address"
|
|
line.long 0x08 "DESCADDR,Next Descriptor Address"
|
|
width 0x0B
|
|
tree.end
|
|
tree "Channel 2"
|
|
base ad:(per.long(ad:0x41004834)+0x20)
|
|
width 10.
|
|
group.word 0x00++0x03
|
|
line.word 0x00 "BTCTRL,Block Transfer Control"
|
|
bitfld.word 0x00 13.--15. " STEPSIZE ,Address increment step size" "1,2,4,8,16,32,64,128"
|
|
bitfld.word 0x00 12. " STEPSEL ,Step selection" "DST,SRC"
|
|
bitfld.word 0x00 11. " DSTINC ,Destination address increment enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.word 0x00 10. " SRCINC ,Source address increment enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8.--9. " BEATSIZE ,Beat size" "8-bit,16-bit,32-bit,?..."
|
|
bitfld.word 0x00 3.--4. " BLOCKACT ,Block action" "No action,Int,Suspend,Both"
|
|
newline
|
|
bitfld.word 0x00 1.--2. " EVOSEL ,Event output selection" "Disabled,Block,,Beat"
|
|
bitfld.word 0x00 0. " VALID ,Descriptor valid" "Not valid,Valid"
|
|
line.word 0x02 "BTCNT,Block Transfer Count"
|
|
group.long 0x04++0x0B
|
|
line.long 0x00 "SRCADDR,Transfer Source Address"
|
|
line.long 0x04 "DSTADDR,Transfer Destination Address"
|
|
line.long 0x08 "DESCADDR,Next Descriptor Address"
|
|
width 0x0B
|
|
tree.end
|
|
tree "Channel 3"
|
|
base ad:(per.long(ad:0x41004834)+0x30)
|
|
width 10.
|
|
group.word 0x00++0x03
|
|
line.word 0x00 "BTCTRL,Block Transfer Control"
|
|
bitfld.word 0x00 13.--15. " STEPSIZE ,Address increment step size" "1,2,4,8,16,32,64,128"
|
|
bitfld.word 0x00 12. " STEPSEL ,Step selection" "DST,SRC"
|
|
bitfld.word 0x00 11. " DSTINC ,Destination address increment enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.word 0x00 10. " SRCINC ,Source address increment enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8.--9. " BEATSIZE ,Beat size" "8-bit,16-bit,32-bit,?..."
|
|
bitfld.word 0x00 3.--4. " BLOCKACT ,Block action" "No action,Int,Suspend,Both"
|
|
newline
|
|
bitfld.word 0x00 1.--2. " EVOSEL ,Event output selection" "Disabled,Block,,Beat"
|
|
bitfld.word 0x00 0. " VALID ,Descriptor valid" "Not valid,Valid"
|
|
line.word 0x02 "BTCNT,Block Transfer Count"
|
|
group.long 0x04++0x0B
|
|
line.long 0x00 "SRCADDR,Transfer Source Address"
|
|
line.long 0x04 "DSTADDR,Transfer Destination Address"
|
|
line.long 0x08 "DESCADDR,Next Descriptor Address"
|
|
width 0x0B
|
|
tree.end
|
|
tree "Channel 4"
|
|
base ad:(per.long(ad:0x41004834)+0x40)
|
|
width 10.
|
|
group.word 0x00++0x03
|
|
line.word 0x00 "BTCTRL,Block Transfer Control"
|
|
bitfld.word 0x00 13.--15. " STEPSIZE ,Address increment step size" "1,2,4,8,16,32,64,128"
|
|
bitfld.word 0x00 12. " STEPSEL ,Step selection" "DST,SRC"
|
|
bitfld.word 0x00 11. " DSTINC ,Destination address increment enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.word 0x00 10. " SRCINC ,Source address increment enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8.--9. " BEATSIZE ,Beat size" "8-bit,16-bit,32-bit,?..."
|
|
bitfld.word 0x00 3.--4. " BLOCKACT ,Block action" "No action,Int,Suspend,Both"
|
|
newline
|
|
bitfld.word 0x00 1.--2. " EVOSEL ,Event output selection" "Disabled,Block,,Beat"
|
|
bitfld.word 0x00 0. " VALID ,Descriptor valid" "Not valid,Valid"
|
|
line.word 0x02 "BTCNT,Block Transfer Count"
|
|
group.long 0x04++0x0B
|
|
line.long 0x00 "SRCADDR,Transfer Source Address"
|
|
line.long 0x04 "DSTADDR,Transfer Destination Address"
|
|
line.long 0x08 "DESCADDR,Next Descriptor Address"
|
|
width 0x0B
|
|
tree.end
|
|
tree "Channel 5"
|
|
base ad:(per.long(ad:0x41004834)+0x50)
|
|
width 10.
|
|
group.word 0x00++0x03
|
|
line.word 0x00 "BTCTRL,Block Transfer Control"
|
|
bitfld.word 0x00 13.--15. " STEPSIZE ,Address increment step size" "1,2,4,8,16,32,64,128"
|
|
bitfld.word 0x00 12. " STEPSEL ,Step selection" "DST,SRC"
|
|
bitfld.word 0x00 11. " DSTINC ,Destination address increment enable" "Disabled,Enabled"
|
|
newline
|
|
bitfld.word 0x00 10. " SRCINC ,Source address increment enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8.--9. " BEATSIZE ,Beat size" "8-bit,16-bit,32-bit,?..."
|
|
bitfld.word 0x00 3.--4. " BLOCKACT ,Block action" "No action,Int,Suspend,Both"
|
|
newline
|
|
bitfld.word 0x00 1.--2. " EVOSEL ,Event output selection" "Disabled,Block,,Beat"
|
|
bitfld.word 0x00 0. " VALID ,Descriptor valid" "Not valid,Valid"
|
|
line.word 0x02 "BTCNT,Block Transfer Count"
|
|
group.long 0x04++0x0B
|
|
line.long 0x00 "SRCADDR,Transfer Source Address"
|
|
line.long 0x04 "DSTADDR,Transfer Destination Address"
|
|
line.long 0x08 "DESCADDR,Next Descriptor Address"
|
|
width 0x0B
|
|
tree.end
|
|
tree.end
|
|
tree.end
|
|
tree "EIC (External Interrupt Controller)"
|
|
base ad:0x40001800
|
|
width 15.
|
|
group.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
bitfld.byte 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
rgroup.byte 0x01++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Not busy,Busy"
|
|
group.byte 0x02++0x01
|
|
line.byte 0x00 "NMICTRL,Non-Maskable Interrupt Control"
|
|
bitfld.byte 0x00 3. " NMIFILTEN ,Non-maskable interrupt filter enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0.--2. " NMISENSE ,Non-maskable interrupt sense" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
line.byte 0x01 "NMIFLAG,Non-Maskable Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 0. " NMI ,Non-maskable interrupt" "No interrupt,Interrupt"
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "EVCTRL,Event Control"
|
|
sif (cpuis("ATSAMR21*")||cpuis("ATSAMHA1G*"))
|
|
bitfld.long 0x00 17. " EXTINTEO17 ,External interrupt 17 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16. " EXTINTEO16 ,External interrupt 16 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x00 15. " EXTINTEO15 ,External interrupt 15 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14. " EXTINTEO14 ,External interrupt 14 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 13. " EXTINTEO13 ,External interrupt 13 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 12. " EXTINTEO12 ,External interrupt 12 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 11. " EXTINTEO11 ,External interrupt 11 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 10. " EXTINTEO10 ,External interrupt 10 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 9. " EXTINTEO9 ,External interrupt 9 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " EXTINTEO8 ,External interrupt 8 event output enable" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 7. " EXTINTEO7 ,External interrupt 7 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 6. " EXTINTEO6 ,External interrupt 6 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 5. " EXTINTEO5 ,External interrupt 5 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 4. " EXTINTEO4 ,External interrupt 4 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 3. " EXTINTEO3 ,External interrupt 3 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 2. " EXTINTEO2 ,External interrupt 2 event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 1. " EXTINTEO1 ,External interrupt 1 event output enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " EXTINTEO0 ,External interrupt 0 event output enable" "Disabled,Enabled"
|
|
group.long 0x0C++0x0F
|
|
line.long 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
sif (cpuis("ATSAMR21*")||cpuis("ATSAMHA1G*"))
|
|
setclrfld.long 0x00 17. 0x00 17. -0x04 17. " EXTINT17 ,External interrupt 17 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 16. 0x00 16. -0x04 16. " EXTINT16 ,External interrupt 16 enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
setclrfld.long 0x00 15. 0x00 15. -0x04 15. " EXTINT15 ,External interrupt 15 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 14. 0x00 14. -0x04 14. " EXTINT14 ,External interrupt 14 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 13. 0x00 13. -0x04 13. " EXTINT13 ,External interrupt 13 enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 12. 0x00 12. -0x04 12. " EXTINT12 ,External interrupt 12 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 11. 0x00 11. -0x04 11. " EXTINT11 ,External interrupt 11 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 10. 0x00 10. -0x04 10. " EXTINT10 ,External interrupt 10 enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 9. 0x00 9. -0x04 9. " EXTINT9 ,External interrupt 9 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 8. 0x00 8. -0x04 8. " EXTINT8 ,External interrupt 8 enable" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
setclrfld.long 0x00 7. 0x00 7. -0x04 7. " EXTINT7 ,External interrupt 7 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 6. 0x00 6. -0x04 6. " EXTINT6 ,External interrupt 6 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 5. 0x00 5. -0x04 5. " EXTINT5 ,External interrupt 5 enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 4. 0x00 4. -0x04 4. " EXTINT4 ,External interrupt 4 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 3. 0x00 3. -0x04 3. " EXTINT3 ,External interrupt 3 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 2. 0x00 2. -0x04 2. " EXTINT2 ,External interrupt 2 enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 1. 0x00 1. -0x04 1. " EXTINT1 ,External interrupt 1 enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 0. 0x00 0. -0x04 0. " EXTINT0 ,External interrupt 0 enable" "Disabled,Enabled"
|
|
line.long 0x04 "INTFLAG,Interrupt Flag Status And Clear"
|
|
sif (cpuis("ATSAMR21*")||cpuis("ATSAMHA1G*"))
|
|
eventfld.long 0x04 17. " EXTINT17 ,External interrupt 17" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 16. " EXTINT16 ,External interrupt 16" "No interrupt,Interrupt"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
eventfld.long 0x04 15. " EXTINT15 ,External interrupt 15" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 14. " EXTINT14 ,External interrupt 14" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 13. " EXTINT13 ,External interrupt 13" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 12. " EXTINT12 ,External interrupt 12" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 11. " EXTINT11 ,External interrupt 11" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 10. " EXTINT10 ,External interrupt 10" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 9. " EXTINT9 ,External interrupt 9" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 8. " EXTINT8 ,External interrupt 8" "No interrupt,Interrupt"
|
|
endif
|
|
textline " "
|
|
eventfld.long 0x04 7. " EXTINT7 ,External interrupt 7" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 6. " EXTINT6 ,External interrupt 6" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 5. " EXTINT5 ,External interrupt 5" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 4. " EXTINT4 ,External interrupt 4" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 3. " EXTINT3 ,External interrupt 3" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 2. " EXTINT2 ,External interrupt 2" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 1. " EXTINT1 ,External interrupt 1" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 0. " EXTINT0 ,External interrupt 0" "No interrupt,Interrupt"
|
|
line.long 0x08 "WAKEUPEN,Wake-Up Enable"
|
|
sif (cpuis("ATSAMR21*")||cpuis("ATSAMHA1G*"))
|
|
bitfld.long 0x08 17. " WAKEUPEN17 ,External interrupt 17 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 16. " WAKEUPEN16 ,External interrupt 16 Wake-up enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x08 15. " WAKEUPEN15 ,External interrupt 15 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 14. " WAKEUPEN14 ,External interrupt 14 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 13. " WAKEUPEN13 ,External interrupt 13 wake-up enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x08 12. " WAKEUPEN12 ,External interrupt 12 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 11. " WAKEUPEN11 ,External interrupt 11 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 10. " WAKEUPEN10 ,External interrupt 10 wake-up enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x08 9. " WAKEUPEN9 ,External interrupt 9 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 8. " WAKEUPEN8 ,External interrupt 8 wake-up enable" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x08 7. " WAKEUPEN7 ,External interrupt 7 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 6. " WAKEUPEN6 ,External interrupt 6 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 5. " WAKEUPEN5 ,External interrupt 5 wake-up enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x08 4. " WAKEUPEN4 ,External interrupt 4 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 3. " WAKEUPEN3 ,External interrupt 3 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 2. " WAKEUPEN2 ,External interrupt 2 wake-up enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x08 1. " WAKEUPEN1 ,External interrupt 1 wake-up enable" "Disabled,Enabled"
|
|
bitfld.long 0x08 0. " WAKEUPEN0 ,External interrupt 0 wake-up enable" "Disabled,Enabled"
|
|
line.long 0x0C "CONFIG0,Configuration 0"
|
|
bitfld.long 0x0C 31. " FILTEN7 ,Filter 7 enable" "Disabled,Enabled"
|
|
bitfld.long 0x0C 28.--30. " SENSE7 ,Input sense 7 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x0C 27. " FILTEN6 ,Filter 6 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 24.--26. " SENSE6 ,Input sense 6 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x0C 23. " FILTEN5 ,Filter 5 enable" "Disabled,Enabled"
|
|
bitfld.long 0x0C 20.--22. " SENSE5 ,Input sense 5 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
textline " "
|
|
bitfld.long 0x0C 19. " FILTEN4 ,Filter 4 enable" "Disabled,Enabled"
|
|
bitfld.long 0x0C 16.--18. " SENSE4 ,Input sense 4 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x0C 15. " FILTEN3 ,Filter 3 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 12.--14. " SENSE3 ,Input sense 3 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x0C 11. " FILTEN2 ,Filter 2 enable" "Disabled,Enabled"
|
|
bitfld.long 0x0C 8.--10. " SENSE2 ,Input sense 2 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
textline " "
|
|
bitfld.long 0x0C 7. " FILTEN1 ,Filter 1 enable" "Disabled,Enabled"
|
|
bitfld.long 0x0C 4.--6. " SENSE1 ,Input sense 1 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x0C 3. " FILTEN0 ,Filter 0 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x0C 0.--2. " SENSE0 ,Input sense 0 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14")||cpuis("ATSAMDA1*"))
|
|
group.long 0x1C++0x03
|
|
line.long 0x00 "CONFIG1,Configuration 1"
|
|
bitfld.long 0x00 31. " FILTEN15 ,Filter 15 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 28.--30. " SENSE15 ,Input sense 15 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 27. " FILTEN14 ,Filter 14 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 24.--26. " SENSE14 ,Input sense 14 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 23. " FILTEN13 ,Filter 13 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 20.--22. " SENSE13 ,Input sense 13 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
textline " "
|
|
bitfld.long 0x00 19. " FILTEN12 ,Filter 12 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16.--18. " SENSE12 ,Input sense 12 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 15. " FILTEN11 ,Filter 11 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 12.--14. " SENSE11 ,Input sense 11 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 11. " FILTEN10 ,Filter 10 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8.--10. " SENSE10 ,Input sense 10 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
textline " "
|
|
bitfld.long 0x00 7. " FILTEN9 ,Filter 9 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 4.--6. " SENSE9 ,Input sense 9 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 3. " FILTEN8 ,Filter 8 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0.--2. " SENSE8 ,Input sense 8 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
endif
|
|
sif (cpuis("ATSAMR21*")||cpuis("ATSAMHA1G*"))
|
|
group.long 0x20++0x03
|
|
line.long 0x00 "CONFIG2,Configuration 2"
|
|
bitfld.long 0x00 31. " FILTEN31 ,Filter 31 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 28.--30. " SENSE31 ,Input sense 31 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 27. " FILTEN30 ,Filter 30 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 24.--26. " SENSE30 ,Input sense 30 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 23. " FILTEN29 ,Filter 29 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 20.--22. " SENSE29 ,Input sense 29 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
textline " "
|
|
bitfld.long 0x00 19. " FILTEN28 ,Filter 28 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16.--18. " SENSE28 ,Input sense 28 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 15. " FILTEN27 ,Filter 27 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 12.--14. " SENSE27 ,Input sense 27 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 11. " FILTEN26 ,Filter 26 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8.--10. " SENSE26 ,Input sense 26 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
textline " "
|
|
bitfld.long 0x00 7. " FILTEN25 ,Filter 25 enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 4.--6. " SENSE25 ,Input sense 25 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
bitfld.long 0x00 3. " FILTEN24 ,Filter 24 enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0.--2. " SENSE24 ,Input sense 24 configuration" "NONE,RISE,FALL,BOTH,HIGH,LOW,?..."
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree "NVMCTRL (Non-Volatile Memory Controller)"
|
|
base ad:0x41004000
|
|
width 15.
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRLA,Control A"
|
|
hexmask.word.byte 0x00 8.--15. 1. " CMDEX ,Command execution"
|
|
hexmask.word.byte 0x00 0.--6. 1. " CMD ,Command"
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
sif (cpuis("ATSAMD20*"))
|
|
bitfld.long 0x00 18.--19. " CACHEDIS ,Cache disable - RWW EEPROM/NVM cache" "Yes/No,Yes/Yes,No/No,?..."
|
|
else
|
|
bitfld.long 0x00 18. " CACHEDIS ,Cache disable" "No,Yes"
|
|
endif
|
|
newline
|
|
bitfld.long 0x00 16.--17. " READMODE ,NVMCTRL read mode" "NO_MISS_PENALTY,LOW_POWER,DETERMINISTIC,?..."
|
|
bitfld.long 0x00 8.--9. " SLEEPPRM ,Power reduction mode during sleep" "WAKEONACCESS,WAKEUPINSTANT,,DISABLED"
|
|
newline
|
|
sif (cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAML21*")||cpuis("ATSAML22*")||cpuis("ATSAMC20*")||cpuis("ATSAMC21*")||cpuis("ATSAMD20*")||cpuis("ATSAMHA1G*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD21*")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x00 7. " MANW ,Manual write" "Disabled,Enabled"
|
|
bitfld.long 0x00 1.--4. " RWS ,NVM read wait states" "0 wait states,1 wait state,2 wait states,3 wait states,4 wait states,5 wait states,6 wait states,7 wait states,8 wait states,9 wait states,10 wait states,11 wait states,12 wait states,13 wait states,14 wait states,15 wait states"
|
|
else
|
|
rbitfld.long 0x00 7. " MANW ,Manual write" "Disabled,Enabled"
|
|
rbitfld.long 0x00 1.--4. " RWS ,NVM read wait states" "0 wait states,1 wait state,2 wait states,3 wait states,4 wait states,5 wait states,6 wait states,7 wait states,8 wait states,9 wait states,10 wait states,11 wait states,12 wait states,13 wait states,14 wait states,15 wait states"
|
|
endif
|
|
rgroup.long 0x08++0x03
|
|
line.long 0x00 "PARAM,NVM Parameter"
|
|
sif (cpuis("ATSAML21*")||cpuis("ATSAML22*")||cpuis("ATSAMC20*")||cpuis("ATSAMC21*")||cpuis("ATSAMHA1G*")||cpuis("ATSAMD21*")||cpuis("ATSAMDA1*"))
|
|
hexmask.long.word 0x00 20.--31. 1. " RWWEEP ,Read while write EEPROM emulation area pages"
|
|
bitfld.long 0x00 16.--18. " PSZ ,Page size" "8 bytes,16 bytes,32 bytes,64 bytes,128 bytes,256 bytes,512 bytes,1024 bytes"
|
|
else
|
|
bitfld.long 0x00 16.--18. " PSZ ,Page size" "8 bytes,16 bytes,32 bytes,64 bytes,128 bytes,256 bytes,512 bytes,1024 bytes"
|
|
textfld " "
|
|
endif
|
|
hexmask.long.word 0x00 0.--15. 1. " NVMP ,NVM pages"
|
|
group.byte 0x10++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x04 1. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x04 0. " READY ,NVM ready interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x14++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x00 1. " ERROR ,Error" "No error,Error"
|
|
rbitfld.byte 0x00 0. " READY ,NVM ready" "Not ready,Ready"
|
|
group.word 0x18++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
rbitfld.word 0x00 8. " SB ,Security bit status" "Inactive,Active"
|
|
eventfld.word 0x00 4. " NVME ,NVM error" "No error,Error"
|
|
eventfld.word 0x00 3. " LOCKE ,Lock error status" "Not locked,Locked"
|
|
newline
|
|
eventfld.word 0x00 2. " PROGE ,Programming error status" "No error,Error"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMR21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAML21*")||cpuis("ATSAML22*")||cpuis("ATSAMC20*")||cpuis("ATSAMC21*")||cpuis("ATSAMHA1G*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD20*")||cpuis("ATSAMDA1*"))
|
|
newline
|
|
eventfld.word 0x00 1. " LOAD ,NVM page buffer active loading" "Not loaded,Loaded"
|
|
rbitfld.word 0x00 0. " PRM ,Power reduction mode" "Off,On"
|
|
else
|
|
newline
|
|
bitfld.word 0x00 1. " LOAD ,NVM page buffer active loading" "Not loaded,Loaded"
|
|
rbitfld.word 0x00 0. " PRM ,Power reduction mode" "Off,On"
|
|
endif
|
|
sif (cpuis("ATSAML21*")||cpuis("ATSAML22*"))
|
|
hgroup.long 0x1C++0x03
|
|
hide.long 0x00 "ADDR,Address"
|
|
elif (cpuis("ATSAMC20*")||cpuis("ATSAMC21*"))
|
|
group.long 0x1C++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long.tbyte 0x00 0.--20. 0x01 " ADDR ,NVM address"
|
|
elif (cpuis("ATSAMD21*")||cpuis("ATSAMD20*")||cpuis("ATSAMDA1*"))
|
|
group.long 0x1C++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long.tbyte 0x00 0.--21. 0x01 " ADDR ,NVM address"
|
|
else
|
|
group.long 0x1C++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long.tbyte 0x00 0.--20. 0x01 " ADDR ,NVM address"
|
|
endif
|
|
rgroup.word 0x20++0x01
|
|
line.word 0x00 "LOCK,Lock Section"
|
|
bitfld.word 0x00 15. " LOCK[15] ,Region lock 15 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 14. " [14] ,Region lock 14 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 13. " [13] ,Region lock 13 bit" "Locked,Not locked"
|
|
newline
|
|
bitfld.word 0x00 12. " [12] ,Region lock 12 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 11. " [11] ,Region lock 11 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 10. " [10] ,Region lock 10 bit" "Locked,Not locked"
|
|
newline
|
|
bitfld.word 0x00 9. " [9] ,Region lock 9 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 8. " [8] ,Region lock 8 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 7. " [7] ,Region lock 7 bit" "Locked,Not locked"
|
|
newline
|
|
bitfld.word 0x00 6. " [6] ,Region lock 6 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 5. " [5] ,Region lock 5 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 4. " [4] ,Region lock 4 bit" "Locked,Not locked"
|
|
newline
|
|
bitfld.word 0x00 3. " [3] ,Region lock 3 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 2. " [2] ,Region lock 2 bit" "Locked,Not locked"
|
|
bitfld.word 0x00 1. " [1] ,Region lock 1 bit" "Locked,Not locked"
|
|
newline
|
|
bitfld.word 0x00 0. " [0] ,Region lock 0 bit" "Locked,Not locked"
|
|
sif (cpuis("ATSAMC20*")||cpuis("ATSAMC21*"))
|
|
rgroup.long 0x28++0x07
|
|
line.long 0x00 "PBLDATA0,Page Buffer Load Data 0 Register"
|
|
line.long 0x04 "PBLDATA1,Page Buffer Load Data 1 Register"
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree.open "PORT"
|
|
tree "PORT A"
|
|
base ad:0x41004400
|
|
width 13.
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "DIR,Data Direction"
|
|
bitfld.long 0x00 31. " PA31 , Port A 31" "Input,Output"
|
|
bitfld.long 0x00 30. " PA30 , Port A 30" "Input,Output"
|
|
textline " "
|
|
bitfld.long 0x00 28. " PA28 , Port A 28" "Input,Output"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 27. " PA27 , Port A 27" "Input,Output"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 25. " PA25 , Port A 25" "Input,Output"
|
|
bitfld.long 0x00 24. " PA24 , Port A 24" "Input,Output"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 23. " PA23 , Port A 23" "Input,Output"
|
|
bitfld.long 0x00 22. " PA22 , Port A 22" "Input,Output"
|
|
textline " "
|
|
bitfld.long 0x00 17. " PA17 , Port A 17" "Input,Output"
|
|
bitfld.long 0x00 16. " PA16 , Port A 16" "Input,Output"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 15. " PA15 , Port A 15" "Input,Output"
|
|
bitfld.long 0x00 14. " PA14 , Port A 14" "Input,Output"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 11. " PA11 , Port A 11" "Input,Output"
|
|
bitfld.long 0x00 10. " PA10 , Port A 10" "Input,Output"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 9. " PA9 , Port A 09" "Input,Output"
|
|
bitfld.long 0x00 8. " PA8 , Port A 08" "Input,Output"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 7. " PA7 , Port A 07" "Input,Output"
|
|
bitfld.long 0x00 6. " PA6 , Port A 06" "Input,Output"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 5. " PA5 , Port A 05" "Input,Output"
|
|
bitfld.long 0x00 4. " PA4 , Port A 04" "Input,Output"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 3. " PA3 , Port A 03" "Input,Output"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 2. " PA2 , Port A 02" "Input,Output"
|
|
group.long 0x08++0x0B
|
|
line.long 0x00 "DIR_SET/CLR,Data Direction Set/Clear"
|
|
setclrfld.long 0x00 31. 0x00 31. -0x04 31. " PA31 , Port A 31" "Clear,Set"
|
|
setclrfld.long 0x00 30. 0x00 30. -0x04 30. " PA30 , Port A 30" "Clear,Set"
|
|
textline " "
|
|
setclrfld.long 0x00 28. 0x00 28. -0x04 28. " PA28 , Port A 28" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 27. 0x00 27. -0x04 27. " PA27 , Port A 27" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 25. 0x00 25. -0x04 25. " PA25 , Port A 25" "Clear,Set"
|
|
setclrfld.long 0x00 24. 0x00 24. -0x04 24. " PA24 , Port A 24" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 23. 0x00 23. -0x04 23. " PA23 , Port A 23" "Clear,Set"
|
|
setclrfld.long 0x00 22. 0x00 22. -0x04 22. " PA22 , Port A 22" "Clear,Set"
|
|
textline " "
|
|
setclrfld.long 0x00 17. 0x00 17. -0x04 17. " PA17 , Port A 17" "Clear,Set"
|
|
setclrfld.long 0x00 16. 0x00 16. -0x04 16. " PA16 , Port A 16" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 15. 0x00 15. -0x04 15. " PA15 , Port A 15" "Clear,Set"
|
|
setclrfld.long 0x00 14. 0x00 14. -0x04 14. " PA14 , Port A 14" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 11. 0x00 11. -0x04 11. " PA11 , Port A 11" "Clear,Set"
|
|
setclrfld.long 0x00 10. 0x00 10. -0x04 10. " PA10 , Port A 10" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 9. 0x00 9. -0x04 9. " PA9 , Port A 09" "Clear,Set"
|
|
setclrfld.long 0x00 8. 0x00 8. -0x04 8. " PA8 , Port A 08" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 7. 0x00 7. -0x04 7. " PA7 , Port A 07" "Clear,Set"
|
|
setclrfld.long 0x00 6. 0x00 6. -0x04 6. " PA6 , Port A 06" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 5. 0x00 5. -0x04 5. " PA5 , Port A 05" "Clear,Set"
|
|
setclrfld.long 0x00 4. 0x00 4. -0x04 4. " PA4 , Port A 04" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 3. 0x00 3. -0x04 3. " PA3 , Port A 03" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 2. 0x00 2. -0x04 2. " PA2 , Port A 02" "Clear,Set"
|
|
line.long 0x04 "DIRTGL,Data Direction Toggle"
|
|
bitfld.long 0x04 31. " PA31 , Port A 31" "Not changed,Toggled"
|
|
bitfld.long 0x04 30. " PA30 , Port A 30" "Not changed,Toggled"
|
|
textline " "
|
|
bitfld.long 0x04 28. " PA28 , Port A 28" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 27. " PA27 , Port A 27" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 25. " PA25 , Port A 25" "Not changed,Toggled"
|
|
bitfld.long 0x04 24. " PA24 , Port A 24" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 23. " PA23 , Port A 23" "Not changed,Toggled"
|
|
bitfld.long 0x04 22. " PA22 , Port A 22" "Not changed,Toggled"
|
|
textline " "
|
|
bitfld.long 0x04 17. " PA17 , Port A 17" "Not changed,Toggled"
|
|
bitfld.long 0x04 16. " PA16 , Port A 16" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 15. " PA15 , Port A 15" "Not changed,Toggled"
|
|
bitfld.long 0x04 14. " PA14 , Port A 14" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 11. " PA11 , Port A 11" "Not changed,Toggled"
|
|
bitfld.long 0x04 10. " PA10 , Port A 10" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 9. " PA9 , Port A 09" "Not changed,Toggled"
|
|
bitfld.long 0x04 8. " PA8 , Port A 08" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 7. " PA7 , Port A 07" "Not changed,Toggled"
|
|
bitfld.long 0x04 6. " PA6 , Port A 06" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 5. " PA5 , Port A 05" "Not changed,Toggled"
|
|
bitfld.long 0x04 4. " PA4 , Port A 04" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 3. " PA3 , Port A 03" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 2. " PA2 , Port A 02" "Not changed,Toggled"
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "OUT_SET/CLR,Data Output Value Set/Clear"
|
|
setclrfld.long 0x00 31. 0x08 31. 0x04 31. " PA31 , Port A 31" "Clear,Set"
|
|
setclrfld.long 0x00 30. 0x08 30. 0x04 30. " PA30 , Port A 30" "Clear,Set"
|
|
textline " "
|
|
setclrfld.long 0x00 28. 0x08 28. 0x04 28. " PA28 , Port A 28" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 27. 0x08 27. 0x04 27. " PA27 , Port A 27" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 25. 0x08 25. 0x04 25. " PA25 , Port A 25" "Clear,Set"
|
|
setclrfld.long 0x00 24. 0x08 24. 0x04 24. " PA24 , Port A 24" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 23. 0x08 23. 0x04 23. " PA23 , Port A 23" "Clear,Set"
|
|
setclrfld.long 0x00 22. 0x08 22. -0x04 22. " PA22 , Port A 22" "Clear,Set"
|
|
textline " "
|
|
setclrfld.long 0x00 17. 0x08 17. 0x04 17. " PA17 , Port A 17" "Clear,Set"
|
|
setclrfld.long 0x00 16. 0x08 16. 0x04 16. " PA16 , Port A 16" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 15. 0x08 15. 0x04 15. " PA15 , Port A 15" "Clear,Set"
|
|
setclrfld.long 0x00 14. 0x08 14. 0x04 14. " PA14 , Port A 14" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 11. 0x08 11. 0x04 11. " PA11 , Port A 11" "Clear,Set"
|
|
setclrfld.long 0x00 10. 0x08 10. 0x04 10. " PA10 , Port A 10" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 9. 0x08 9. 0x04 9. " PA9 , Port A 09" "Clear,Set"
|
|
setclrfld.long 0x00 8. 0x08 8. 0x04 8. " PA8 , Port A 08" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 7. 0x08 7. 0x04 7. " PA7 , Port A 07" "Clear,Set"
|
|
setclrfld.long 0x00 6. 0x08 6. 0x04 6. " PA6 , Port A 06" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 5. 0x08 5. 0x04 5. " PA5 , Port A 05" "Clear,Set"
|
|
setclrfld.long 0x00 4. 0x08 4. 0x04 4. " PA4 , Port A 04" "Clear,Set"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
setclrfld.long 0x00 3. 0x08 3. 0x04 3. " PA3 , Port A 03" "Clear,Set"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 2. 0x08 2. 0x04 2. " PA2 , Port A 02" "Clear,Set"
|
|
group.long 0x1C++0x0B
|
|
line.long 0x00 "OUTTGL,Data Output Value Toggle"
|
|
bitfld.long 0x00 31. " PA31 , Port A 31" "Not changed,Toggled"
|
|
bitfld.long 0x00 30. " PA30 , Port A 30" "Not changed,Toggled"
|
|
textline " "
|
|
bitfld.long 0x00 28. " PA28 , Port A 28" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 27. " PA27 , Port A 27" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 25. " PA25 , Port A 25" "Not changed,Toggled"
|
|
bitfld.long 0x00 24. " PA24 , Port A 24" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 23. " PA23 , Port A 23" "Not changed,Toggled"
|
|
bitfld.long 0x00 22. " PA22 , Port A 22" "Not changed,Toggled"
|
|
textline " "
|
|
bitfld.long 0x00 17. " PA17 , Port A 17" "Not changed,Toggled"
|
|
bitfld.long 0x00 16. " PA16 , Port A 16" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 15. " PA15 , Port A 15" "Not changed,Toggled"
|
|
bitfld.long 0x00 14. " PA14 , Port A 14" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 11. " PA11 , Port A 11" "Not changed,Toggled"
|
|
bitfld.long 0x00 10. " PA10 , Port A 10" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 9. " PA9 , Port A 09" "Not changed,Toggled"
|
|
bitfld.long 0x00 8. " PA8 , Port A 08" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 7. " PA7 , Port A 07" "Not changed,Toggled"
|
|
bitfld.long 0x00 6. " PA6 , Port A 06" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 5. " PA5 , Port A 05" "Not changed,Toggled"
|
|
bitfld.long 0x00 4. " PA4 , Port A 04" "Not changed,Toggled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 3. " PA3 , Port A 03" "Not changed,Toggled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 2. " PA2 , Port A 02" "Not changed,Toggled"
|
|
line.long 0x04 "IN,Data Input Value"
|
|
bitfld.long 0x04 31. " PA31 , Port A 31" "Low,High"
|
|
bitfld.long 0x04 30. " PA30 , Port A 30" "Low,High"
|
|
textline " "
|
|
bitfld.long 0x04 28. " PA28 , Port A 28" "Low,High"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 27. " PA27 , Port A 27" "Low,High"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 25. " PA25 , Port A 25" "Low,High"
|
|
bitfld.long 0x04 24. " PA24 , Port A 24" "Low,High"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 23. " PA23 , Port A 23" "Low,High"
|
|
bitfld.long 0x04 22. " PA22 , Port A 22" "Low,High"
|
|
textline " "
|
|
bitfld.long 0x04 17. " PA17 , Port A 17" "Low,High"
|
|
bitfld.long 0x04 16. " PA16 , Port A 16" "Low,High"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 15. " PA15 , Port A 15" "Low,High"
|
|
bitfld.long 0x04 14. " PA14 , Port A 14" "Low,High"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 11. " PA11 , Port A 11" "Low,High"
|
|
bitfld.long 0x04 10. " PA10 , Port A 10" "Low,High"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 9. " PA9 , Port A 09" "Low,High"
|
|
bitfld.long 0x04 8. " PA8 , Port A 08" "Low,High"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 7. " PA7 , Port A 07" "Low,High"
|
|
bitfld.long 0x04 6. " PA6 , Port A 06" "Low,High"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 5. " PA5 , Port A 05" "Low,High"
|
|
bitfld.long 0x04 4. " PA4 , Port A 04" "Low,High"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x04 3. " PA3 , Port A 03" "Low,High"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x04 2. " PA2 , Port A 02" "Low,High"
|
|
line.long 0x08 "CTRL,Control"
|
|
bitfld.long 0x08 31. " PA31 , Port A 31" "Disabled,Enabled"
|
|
bitfld.long 0x08 30. " PA30 , Port A 30" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x08 28. " PA28 , Port A 28" "Disabled,Enabled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x08 27. " PA27 , Port A 27" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x08 25. " PA25 , Port A 25" "Disabled,Enabled"
|
|
bitfld.long 0x08 24. " PA24 , Port A 24" "Disabled,Enabled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x08 23. " PA23 , Port A 23" "Disabled,Enabled"
|
|
bitfld.long 0x08 22. " PA22 , Port A 22" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x08 17. " PA17 , Port A 17" "Disabled,Enabled"
|
|
bitfld.long 0x08 16. " PA16 , Port A 16" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x08 15. " PA15 , Port A 15" "Disabled,Enabled"
|
|
bitfld.long 0x08 14. " PA14 , Port A 14" "Disabled,Enabled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x08 11. " PA11 , Port A 11" "Disabled,Enabled"
|
|
bitfld.long 0x08 10. " PA10 , Port A 10" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x08 9. " PA9 , Port A 09" "Disabled,Enabled"
|
|
bitfld.long 0x08 8. " PA8 , Port A 08" "Disabled,Enabled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x08 7. " PA7 , Port A 07" "Disabled,Enabled"
|
|
bitfld.long 0x08 6. " PA6 , Port A 06" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x08 5. " PA5 , Port A 05" "Disabled,Enabled"
|
|
bitfld.long 0x08 4. " PA4 , Port A 04" "Disabled,Enabled"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x08 3. " PA3 , Port A 03" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x08 2. " PA2 , Port A 02" "Disabled,Enabled"
|
|
wgroup.long 0x28++0x03
|
|
line.long 0x00 "WRCONFIG,Write Configuration"
|
|
bitfld.long 0x00 31. " HWSEL ,Half-Word select" "Lower 16 pins,Upper 16 pins"
|
|
bitfld.long 0x00 30. " WRPINCFG ,Write PINCFG" "No effect,Update"
|
|
textline " "
|
|
bitfld.long 0x00 28. " WRPMUX ,Write PMUX" "No effect,Update"
|
|
textline " "
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 24.--27. " PMUX ,Peripheral multiplexing" ",PMUX1,PMUX2,PMUX3,PMUX4,PMUX5,,PMUX7,PMUX8,,,PMUX11,PMUX12,PMUX13,PMUX14,PMUX15"
|
|
else
|
|
bitfld.long 0x00 24.--27. " PMUX ,Peripheral multiplexing" ",PMUX1,PMUX2,,PMUX4,,,PMUX7,,,,,PMUX12,,PMUX14,PMUX15"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 22. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.long 0x00 18. " PULLEN ,Pull enable" "No effect,Enable"
|
|
textline " "
|
|
bitfld.long 0x00 17. " INEN ,Input enable" "No effect,Enable"
|
|
bitfld.long 0x00 16. " PMUXEN ,Peripheral multiplexer enable" "No effect,Enable"
|
|
textline " "
|
|
hexmask.long.word 0x00 0.--15. 1. " PINMASK ,Pin mask for multiple pin configuration"
|
|
group.byte 0x31++0x01
|
|
line.byte 0x00 "PMUX1,Peripheral Multiplexing 1"
|
|
sif cpuis("ATSAMD09D14")
|
|
bitfld.byte 0x00 4.--7. " PA03 ,Port A pin 03" "EXTINT[3],(ADC/VREFA)/AIN[1],?..."
|
|
endif
|
|
textline " "
|
|
bitfld.byte 0x00 0.--3. " PA02 ,Port A pin 02" "EXTINT[2],AIN[0],?..."
|
|
line.byte 0x01 "PMUX2,Peripheral Multiplexing 2"
|
|
bitfld.byte 0x01 4.--7. " PA05 ,Port A pin 05" "EXTINT[5],AIN[3],SERCOM0/PAD[3],SERCOM0/PAD[1],TC1/WO[1],?..."
|
|
bitfld.byte 0x01 0.--3. " PA04 ,Port A pin 04" "EXTINT[4],(ADC/VREFB)/AIN[2],SERCOM0/PAD[2],SERCOM0/PAD[0],TC1/WO[0],?..."
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x33++0x00
|
|
line.byte 0x00 "PMUX3,Peripheral Multiplexing 3"
|
|
bitfld.byte 0x00 4.--7. " PA07 ,Port A pin 07" "EXTINT[7],AIN[5],SERCOM0/PAD[1],SERCOM0/PAD[3],TC2/WO[1],?..."
|
|
bitfld.byte 0x00 0.--3. " PA06 ,Port A pin 06" "EXTINT[6],AIN[4],SERCOM0/PAD[0],SERCOM0/PAD[2],TC2/WO[0],?..."
|
|
endif
|
|
group.byte 0x34++0x00
|
|
line.byte 0x00 "PMUX4,Peripheral Multiplexing 4"
|
|
bitfld.byte 0x00 4.--7. " PA09 ,Port A pin 09" "EXTINT[7],,SERCOM1/PAD[3],SERCOM0/PAD[3],,,GCLK_IO[1],?..."
|
|
bitfld.byte 0x00 0.--3. " PA08 ,Port A pin 08" "EXTINT[6],,SERCOM1/PAD[2],SERCOM0/PAD[2],,,GCLK_IO[0],?..."
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x35++0x00
|
|
line.byte 0x00 "PMUX5,Peripheral Multiplexing 5"
|
|
bitfld.byte 0x00 4.--7. " PA11 ,Port A pin 11" "EXTINT[3],AIN[9],SERCOM0/PAD[3],,TC2/WO[1],,GCLK_IO[5],?..."
|
|
bitfld.byte 0x00 0.--3. " PA10 ,Port A pin 10" "EXTINT[2],AIN[8],SERCOM0/PAD[2],,TC2/WO[0],,GCLK_IO[4],?..."
|
|
endif
|
|
group.byte 0x37++0x00
|
|
line.byte 0x00 "PMUX7,Peripheral Multiplexing 7"
|
|
bitfld.byte 0x00 4.--7. " PA15 ,Port A pin 15" "EXTINT[1],AIN[7],SERCOM0/PAD[1],,TCC0/WO[1],,GCLK_IO[5],?..."
|
|
bitfld.byte 0x00 0.--3. " PA14 ,Port A pin 14" "NMI,AIN[6],SERCOM0/PAD[0],,TC1/WO[0],,GCLK_IO[4],?..."
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x38++0x00
|
|
line.byte 0x00 "PMUX8,Peripheral Multiplexing 8"
|
|
bitfld.byte 0x00 4.--7. " PA17 ,Port A pin 17" "EXTINT[1],,SERCOM1/PAD[3],,TC1/WO[1],,GCLK_IO[3],?..."
|
|
bitfld.byte 0x00 0.--3. " PA16 ,Port A pin 16" "EXTINT[0],,SERCOM1/PAD[2],,TC1/WO[0],,GCLK_IO[2],?..."
|
|
endif
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x3B++0x00
|
|
line.byte 0x00 "PMUX11,Peripheral Multiplexing 11"
|
|
bitfld.byte 0x00 4.--7. " PA23 ,Port A pin 23" "EXTINT[7],,SERCOM1/PAD[1],,TC1/WO[1],,GCLK_IO[2],?..."
|
|
bitfld.byte 0x00 0.--3. " PA22 ,Port A pin 22" "EXTINT[6],,SERCOM1/PAD[0],,TC1/WO[0],,GCLK_IO[1],?..."
|
|
endif
|
|
group.byte 0x3C++0x00
|
|
line.byte 0x00 "PMUX12,Peripheral Multiplexing 12"
|
|
bitfld.byte 0x00 4.--7. " PA25 ,Port A pin 25" "EXTINT[5],,SERCOM1/PAD[3],,,,GCLK_IO[0],?..."
|
|
bitfld.byte 0x00 0.--3. " PA24 ,Port A pin 24" "EXTINT[4],,SERCOM1/PAD[2],,,,GCLK_IO[0],?..."
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x3D++0x00
|
|
line.byte 0x00 "PMUX13,Peripheral Multiplexing 13"
|
|
bitfld.byte 0x00 4.--7. " PA27 ,Port A pin 27" "EXTINT[7],,,,,,GCLK_IO[0],?..."
|
|
endif
|
|
group.byte 0x3E++0x01
|
|
line.byte 0x00 "PMUX14,Peripheral Multiplexing 14"
|
|
bitfld.byte 0x00 0.--3. " PA28 ,Port A pin 28" "?..."
|
|
line.byte 0x01 "PMUX15,Peripheral Multiplexing 15"
|
|
bitfld.byte 0x01 4.--7. " PA31 ,Port A pin 31" "EXTINT[3],,SERCOM1/PAD[1],SERCOM1/PAD[3],TC2/WO[1],SWDIO,GCLK_IO[0],?..."
|
|
bitfld.byte 0x01 0.--3. " PA30 ,Port A pin 30" "EXTINT[2],,SERCOM1/PAD[0],SERCOM1/PAD[2],TC2/WO[0],CORTEX_M0P/SWCLK,GCLK_IO[0],?..."
|
|
group.byte 0x42++0x00
|
|
line.byte 0x00 "PINCFG2,Pin Configuration 2"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x43++0x00
|
|
line.byte 0x00 "PINCFG3,Pin Configuration 3"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x44++0x01
|
|
line.byte 0x00 "PINCFG4,Pin Configuration 4"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG5,Pin Configuration 5"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x46++0x01
|
|
line.byte 0x00 "PINCFG6,Pin Configuration 6"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG7,Pin Configuration 7"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x48++0x01
|
|
line.byte 0x00 "PINCFG8,Pin Configuration 8"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG9,Pin Configuration 9"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x4A++0x01
|
|
line.byte 0x00 "PINCFG10,Pin Configuration 10"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG11,Pin Configuration 11"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x4E++0x01
|
|
line.byte 0x00 "PINCFG14,Pin Configuration 14"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG15,Pin Configuration 15"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x50++0x01
|
|
line.byte 0x00 "PINCFG16,Pin Configuration 16"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG17,Pin Configuration 17"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
endif
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x56++0x01
|
|
line.byte 0x00 "PINCFG22,Pin Configuration 22"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG23,Pin Configuration 23"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x58++0x01
|
|
line.byte 0x00 "PINCFG24,Pin Configuration 24"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG25,Pin Configuration 25"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
sif cpuis("ATSAMD09D14")
|
|
group.byte 0x5B++0x00
|
|
line.byte 0x00 "PINCFG27,Pin Configuration 27"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x5C++0x00
|
|
line.byte 0x00 "PINCFG28,Pin Configuration 28"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
group.byte 0x5E++0x01
|
|
line.byte 0x00 "PINCFG30,Pin Configuration 30"
|
|
bitfld.byte 0x00 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x00 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x00 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
line.byte 0x01 "PINCFG31,Pin Configuration 31"
|
|
bitfld.byte 0x01 6. " DRVSTR ,Output driver strength selection" "Normal,Stronger"
|
|
bitfld.byte 0x01 2. " PULLEN ,Pull enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x01 1. " INEN ,Input enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0. " PMUXEN ,Peripheral multiplexer enable" "Disabled,Enabled"
|
|
width 0x0B
|
|
tree.end
|
|
tree.end
|
|
tree "EVSYS (Event System)"
|
|
base ad:0x42000400
|
|
width 15.
|
|
group.byte 0x00++0x00
|
|
line.byte 0x00 "CTRL,Control"
|
|
bitfld.byte 0x00 4. " GCLKREQ ,Generic clock requests" "On event,Always on"
|
|
bitfld.byte 0x00 0. " SWRST ,Software reset" "No effect,Reset"
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CHANNEL,Channel"
|
|
bitfld.long 0x00 26.--27. " EDGSEL ,Edge detection selection" "NO_EVT_OUTPUT,RISING_EDGE,FALLING_EDGE,BOTH_EDGES"
|
|
bitfld.long 0x00 24.--25. " PATH ,Path selection" "SYNCHRONOUS,RESYNCHRONIZED,ASYNCHRONOUS,?..."
|
|
sif cpu()=="ATSAMD21E15L"||cpu()=="ATSAMD21E16L"||cpu()=="ATSAMD21G16L"
|
|
textline " "
|
|
bitfld.long 0x00 16.--22. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,EIC EXTINT8,EIC EXTINT9,EIC EXTINT10,EIC EXTINT11,EIC EXTINT12,EIC EXTINT13,EIC EXTINT14,EIC EXTINT15,,,DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 OVF,TCC0 TRG,TCC0 CNT,TCC0_MCX0,TCC0_MCX1,TCC0_MCX2,TCC0_MCX3,TCC1 OVF,TCC1 TRG,TCC1 CNT,TCC1_MCX0,TCC1_MCX1,TCC2 OVF,TCC2 TRG,TCC2 CNT,TCC2_MCX0,TCC2_MCX1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN0,DAC EMPTY,?..."
|
|
elif cpuis("ATSAMD21E*")
|
|
textline " "
|
|
bitfld.long 0x00 16.--22. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,EIC EXTINT8,EIC EXTINT9,EIC EXTINT10,EIC EXTINT11,EIC EXTINT12,EIC EXTINT13,EIC EXTINT14,EIC EXTINT15,,,DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 OVF,TCC0 TRG,TCC0 CNT,TCC0_MCX0,TCC0_MCX1,TCC0_MCX2,TCC0_MCX3,TCC1 OVF,TCC1 TRG,TCC1 CNT,TCC1_MCX0,TCC1_MCX1,TCC2 OVF,TCC2 TRG,TCC2 CNT,TCC2_MCX0,TCC2_MCX1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,,,,,,,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN0,DAC EMPTY,PTC EOC,PTC WCOMP,?..."
|
|
elif cpuis("ATSAMD21*")
|
|
textline " "
|
|
bitfld.long 0x00 16.--22. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,EIC EXTINT8,EIC EXTINT9,EIC EXTINT10,EIC EXTINT11,EIC EXTINT12,EIC EXTINT13,EIC EXTINT14,EIC EXTINT15,,,DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 OVF,TCC0 TRG,TCC0 CNT,TCC0_MCX0,TCC0_MCX1,TCC0_MCX2,TCC0_MCX3,TCC1 OVF,TCC1 TRG,TCC1 CNT,TCC1_MCX0,TCC1_MCX1,TCC2 OVF,TCC2 TRG,TCC2 CNT,TCC2_MCX0,TCC2_MCX1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN0,DAC EMPTY,PTC EOC,PTC WCOMP,?..."
|
|
elif (cpuis("ATSAMD10*")||cpuis("ATSAMD11*"))
|
|
textline " "
|
|
bitfld.long 0x00 16.--21. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 OVF,TCC0 TRG,TCC0 CNT,TCC0_MCX0,TCC0_MCX1,TCC0_MCX2,TCC0_MCX3,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN,DAC EMPTY,PTC EOC,PTC WCOMP,?..."
|
|
elif (cpuis("ATSAMHA1G*"))
|
|
textline " "
|
|
bitfld.long 0x00 16.--22. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,EIC EXTINT8,EIC EXTINT9,EIC EXTINT10,EIC EXTINT11,EIC EXTINT12,EIC EXTINT13,EIC EXTINT14,EIC EXTINT15,,,DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 OVF,TCC0 TRG,TCC0 CNT,TCC0_MCX0,TCC0_MCX1,TCC0_MCX2,TCC0_MCX3,TCC1 OVF,TCC1 TRG,TCC1 CNT,TCC1_MCX0,TCC1_MCX1,TCC2 OVF,TCC2 TRG,TCC2 CNT,TCC2_MCX0,TCC2_MCX1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN0,DAC EMPTY,PTC EOC,PTC WCOMP,AC1 COMP0,AC1 COMP1,AC1 WIN0,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
textline " "
|
|
bitfld.long 0x00 16.--21. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,,,,,,,,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,ADC RESRDY,ADC WINMON,?..."
|
|
elif cpuis("ATSAMDA1*")
|
|
textline " "
|
|
bitfld.long 0x00 16.--22. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,EIC EXTINT8,EIC EXTINT9,EIC EXTINT10,EIC EXTINT11,EIC EXTINT12,EIC EXTINT13,EIC EXTINT14,EIC EXTINT15,,,DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 OVF,TCC0 TRG,TCC0 CNT,TCC0_MCX0,TCC0_MCX1,TCC0_MCX2,TCC0_MCX3,TCC1 OVF,TCC1 TRG,TCC1 CNT,TCC1_MCX0,TCC1_MCX1,TCC2 OVF,TCC2 TRG,TCC2 CNT,TCC2_MCX0,TCC2_MCX1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN0,DAC EMPTY,,,AC1 COMP0,AC1 COMP1,AC1 WIN0,?..."
|
|
elif (cpuis("ATSAMD20G*")||cpuis("ATSAMD20E*"))
|
|
textline " "
|
|
bitfld.long 0x00 16.--23. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,EIC EXTINT8,EIC EXTINT9,EIC EXTINT10,EIC EXTINT11,EIC EXTINT12,EIC EXTINT13,EIC EXTINT14,EIC EXTINT15,TC0 OVF,TC0 MC0,TC0 MC1,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,,,,,,,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN,DAC EMPTY,PTC EOC,PTC WCOMP,?..."
|
|
else
|
|
textline " "
|
|
bitfld.long 0x00 16.--23. " EVGEN ,Event generator" "NONE,RTC CMP0,RTC CMP1,RTC OVF,RTC PER0,RTC PER1,RTC PER2,RTC PER3,RTC PER4,RTC PER5,RTC PER6,RTC PER7,EIC EXTINT0,EIC EXTINT1,EIC EXTINT2,EIC EXTINT3,EIC EXTINT4,EIC EXTINT5,EIC EXTINT6,EIC EXTINT7,EIC EXTINT8,EIC EXTINT9,EIC EXTINT10,EIC EXTINT11,EIC EXTINT12,EIC EXTINT13,EIC EXTINT14,EIC EXTINT15,TC0 OVF,TC0 MC0,TC0 MC1,TC1 OVF,TC1 MC0,TC1 MC1,TC2 OVF,TC2 MC0,TC2 MC1,TC3 OVF,TC3 MC0,TC3 MC1,TC4 OVF,TC4 MC0,TC4 MC1,TC5 OVF,TC5 MC0,TC5 MC1,TC6 OVF,TC6 MC0,TC6 MC1,TC7 OVF,TC7 MC0,TC7 MC1,ADC RESRDY,ADC WINMON,AC COMP0,AC COMP1,AC WIN,DAC EMPTY,PTC EOC,PTC WCOMP,?..."
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 8. " SWEVT ,Software event" "No effect,Triggered"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMHA1G*"))
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " CHANNEL ,Channel selection" "0,1,2,3,4,5,6,7,8,9,10,11,12,?..."
|
|
elif (cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14"))
|
|
textline " "
|
|
bitfld.long 0x00 0.--2. " CHANNEL ,Channel selection" "0,1,2,3,4,5,?..."
|
|
elif cpuis("ATSAMDA1*")
|
|
textline " "
|
|
bitfld.long 0x00 0.--3. " CHANNEL ,Channel selection" "0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
else
|
|
textline " "
|
|
bitfld.long 0x00 0.--7. " CHANNEL ,Channel selection" "0,1,2,3,4,5,6,7,?..."
|
|
endif
|
|
group.word 0x08++0x01
|
|
line.word 0x00 "USER,User Multiplexer"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMHA1G*")||cpuis("ATSAMDA1*"))
|
|
bitfld.word 0x00 8.--12. " CHANNEL ,Channel event selection" "No channel,0,1,2,3,4,5,6,7,8,9,10,11,?..."
|
|
sif cpu()=="ATSAMD21E15L"||cpu()=="ATSAMD21E16L"
|
|
bitfld.word 0x00 0.--4. " USER ,User multiplexer selection" "DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 EV0,TCC0 EV1,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 EV0,TCC1 EV1,TCC1 MC0,TCC1 MC1,TCC2 EV0,TCC2 EV1,TCC2 MC0,TCC2 MC1,TC3,TC4,TC5,,,ADC START,ADC SYNC,AC COMP0,AC COMP1,DAC START,?..."
|
|
elif cpu()=="ATSAMD21G16L"
|
|
bitfld.word 0x00 0.--4. " USER ,User multiplexer selection" "DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 EV0,TCC0 EV1,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 EV0,TCC1 EV1,TCC1 MC0,TCC1 MC1,TCC2 EV0,TCC2 EV1,TCC2 MC0,TCC2 MC1,TC3,TC4,TC5,TC6,TC7,ADC START,ADC SYNC,AC COMP0,AC COMP1,DAC START,?..."
|
|
elif cpuis("ATSAMD21E*")
|
|
bitfld.word 0x00 0.--4. " USER ,User multiplexer selection" "DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 EV0,TCC0 EV1,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 EV0,TCC1 EV1,TCC1 MC0,TCC1 MC1,TCC2 EV0,TCC2 EV1,TCC2 MC0,TCC2 MC1,TC3,TC4,TC5,,,ADC START,ADC SYNC,AC COMP0,AC COMP1,DAC START,PTC STCONV,?..."
|
|
else
|
|
bitfld.word 0x00 0.--4. " USER ,User multiplexer selection" "DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 EV0,TCC0 EV1,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TCC1 EV0,TCC1 EV1,TCC1 MC0,TCC1 MC1,TCC2 EV0,TCC2 EV1,TCC2 MC0,TCC2 MC1,TC3,TC4,TC5,TC6,TC7,ADC START,ADC SYNC,AC COMP0,AC COMP1,DAC START,PTC STCONV,?..."
|
|
endif
|
|
textline " "
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
textline " "
|
|
bitfld.word 0x00 8.--11. " CHANNEL ,Channel event selection" "No channel,1,2,3,4,5,?..."
|
|
bitfld.word 0x00 0.--4. " USER ,User multiplexer selection" "DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,,,,,,,TC1_EVU,TC2_EVU,ADC_START,ADC_SYNC,?..."
|
|
elif (cpuis("ATSAMD10*")||cpuis("ATSAMD11*"))
|
|
textline " "
|
|
bitfld.word 0x00 8.--11. " CHANNEL ,Channel event selection" "No channel,1,2,3,4,5,?..."
|
|
bitfld.word 0x00 0.--4. " USER ,User multiplexer selection" "DMAC CH0,DMAC CH1,DMAC CH2,DMAC CH3,TCC0 EV0,TCC0 EV1,TCC0 MC0,TCC0 MC1,TCC0 MC2,TCC0 MC3,TC1_EVU,TC2_EVU,ADC START,ADC SYNC,AC_SOC_0,AC_SOC_1,DAC START,PTC_STCONV,?..."
|
|
elif (cpuis("ATSAMD20G*")||cpuis("ATSAMD20E*"))
|
|
textline " "
|
|
bitfld.word 0x00 8.--15. " CHANNEL ,Channel event selection" "None,0,1,2,3,4,5,6,7,?..."
|
|
bitfld.word 0x00 0.--7. " USER ,User multiplexer selection" "TC0,TC1,TC2,TC3,TC4,TC5,,,ADC START,ADC SYNC,AC COMP0,AC COMP1,DAC START,PTC STCONV,?..."
|
|
else
|
|
textline " "
|
|
bitfld.word 0x00 8.--15. " CHANNEL ,Channel event selection" "None,0,1,2,3,4,5,6,7,?..."
|
|
bitfld.word 0x00 0.--7. " USER ,User multiplexer selection" "TC0,TC1,TC2,TC3,TC4,TC5,TC6,TC7,ADC START,ADC SYNC,AC COMP0,AC COMP1,DAC START,PTC STCONV,?..."
|
|
endif
|
|
rgroup.long 0x0C++0x03
|
|
line.long 0x00 "CHSTATUS,Channel Status"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMHA1G*")||cpuis("ATSAMDA1*"))
|
|
bitfld.long 0x00 27. " CHBUSY11 ,Channel 11 busy" "Idle,Busy"
|
|
bitfld.long 0x00 26. " CHBUSY10 ,Channel 10 busy" "Idle,Busy"
|
|
bitfld.long 0x00 25. " CHBUSY9 ,Channel 9 busy" "Idle,Busy"
|
|
textline " "
|
|
bitfld.long 0x00 24. " CHBUSY8 ,Channel 8 busy" "Idle,Busy"
|
|
bitfld.long 0x00 19. " USRRDY11 ,Channel 11 user ready" "Not ready,Ready"
|
|
bitfld.long 0x00 18. " USRRDY10 ,Channel 10 user ready" "Not ready,Ready"
|
|
textline " "
|
|
bitfld.long 0x00 17. " USRRDY9 ,Channel 9 user ready" "Not ready,Ready"
|
|
bitfld.long 0x00 16. " USRRDY8 ,Channel 8 user ready" "Not ready,Ready"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x00 15. " CHBUSY7 ,Channel busy 7" "Idle,Busy"
|
|
bitfld.long 0x00 14. " CHBUSY6 ,Channel busy 6" "Idle,Busy"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 13. " CHBUSY5 ,Channel busy 5" "Idle,Busy"
|
|
bitfld.long 0x00 12. " CHBUSY4 ,Channel busy 4" "Idle,Busy"
|
|
bitfld.long 0x00 11. " CHBUSY3 ,Channel busy 3" "Idle,Busy"
|
|
textline " "
|
|
bitfld.long 0x00 10. " CHBUSY2 ,Channel busy 2" "Idle,Busy"
|
|
bitfld.long 0x00 9. " CHBUSY1 ,Channel busy 1" "Idle,Busy"
|
|
bitfld.long 0x00 8. " CHBUSY0 ,Channel busy 0" "Idle,Busy"
|
|
textline " "
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
bitfld.long 0x00 7. " USRRDY7 ,User ready for channel 7" "Not ready,Ready"
|
|
bitfld.long 0x00 6. " USRRDY6 ,User ready for channel 6" "Not ready,Ready"
|
|
textline " "
|
|
endif
|
|
bitfld.long 0x00 5. " USRRDY5 ,User ready for channel 5" "Not ready,Ready"
|
|
bitfld.long 0x00 4. " USRRDY4 ,User ready for channel 4" "Not ready,Ready"
|
|
bitfld.long 0x00 3. " USRRDY3 ,User ready for channel 3" "Not ready,Ready"
|
|
textline " "
|
|
bitfld.long 0x00 2. " USRRDY2 ,User ready for channel 2" "Not ready,Ready"
|
|
bitfld.long 0x00 1. " USRRDY1 ,User ready for channel 1" "Not ready,Ready"
|
|
bitfld.long 0x00 0. " USRRDY0 ,User ready for channel 0" "Not ready,Ready"
|
|
group.long 0x14++0x07
|
|
line.long 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMHA1G*")||cpuis("ATSAMDA1*"))
|
|
setclrfld.long 0x00 27. 0x00 27. -0x04 27. " EVD11 ,Channel 11 event detection interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 26. 0x00 26. -0x04 26. " EVD10 ,Channel 10 event detection interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 25. 0x00 25. -0x04 25. " EVD9 ,Channel 9 event detection interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 24. 0x00 24. -0x04 24. " EVD8 ,Channel 8 event detection interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 19. 0x00 19. -0x04 19. " OVR11 ,Channel 11 overrun interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 18. 0x00 18. -0x04 18. " OVR10 ,Channel 10 overrun interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 17. 0x00 17. -0x04 17. " OVR9 ,Channel 9 overrun interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 16. 0x00 16. -0x04 16. " OVR8 ,Channel 8 overrun interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
setclrfld.long 0x00 15. 0x00 15. -0x04 15. " EVD7 ,Event detected channel 7 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 14. 0x00 14. -0x04 14. " EVD6 ,Event detected channel 6 interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 13. 0x00 13. -0x04 13. " EVD5 ,Event detected channel 5 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 12. 0x00 12. -0x04 12. " EVD4 ,Event detected channel 4 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 11. 0x00 11. -0x04 11. " EVD3 ,Event detected channel 3 interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 10. 0x00 10. -0x04 10. " EVD2 ,Event detected channel 2 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 9. 0x00 9. -0x04 9. " EVD1 ,Event detected channel 1 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 8. 0x00 8. -0x04 8. " EVD0 ,Event detected channel 0 interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
setclrfld.long 0x00 7. 0x00 7. -0x04 7. " OVR7 ,Overrun channel 7 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 6. 0x00 6. -0x04 6. " OVR6 ,Overrun channel 6 interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
endif
|
|
setclrfld.long 0x00 5. 0x00 5. -0x04 5. " OVR5 ,Overrun channel 5 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 4. 0x00 4. -0x04 4. " OVR4 ,Overrun channel 4 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 3. 0x00 3. -0x04 3. " OVR3 ,Overrun channel 3 interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.long 0x00 2. 0x00 2. -0x04 2. " OVR2 ,Overrun channel 2 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 1. 0x00 1. -0x04 1. " OVR1 ,Overrun channel 1 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.long 0x00 0. 0x00 0. -0x04 0. " OVR0 ,Overrun channel 0 interrupt enable" "Disabled,Enabled"
|
|
line.long 0x04 "INTFLAG,Interrupt Flag Status And Clear"
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMHA1G*")||cpuis("ATSAMDA1*"))
|
|
eventfld.long 0x04 27. " EVD11 ,Channel 11 event detection" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 26. " EVD10 ,Channel 10 event detection" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 25. " EVD9 ,Channel 9 event detection" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 24. " EVD8 ,Channel 8 event detection" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 19. " OVR11 ,Channel 11 overrun" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 18. " OVR10 ,Channel 10 overrun" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 17. " OVR9 ,Channel 9 overrun" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 16. " OVR8 ,Channel 8 overrun" "No interrupt,Interrupt"
|
|
textline " "
|
|
endif
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
eventfld.long 0x04 15. " EVD7 ,Event detected channel 7" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 14. " EVD6 ,Event detected channel 6" "No interrupt,Interrupt"
|
|
textline " "
|
|
endif
|
|
eventfld.long 0x04 13. " EVD5 ,Event detected channel 5" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 12. " EVD4 ,Event detected channel 4" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 11. " EVD3 ,Event detected channel 3" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 10. " EVD2 ,Event detected channel 2" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 9. " EVD1 ,Event detected channel 1" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 8. " EVD0 ,Event detected channel 0" "No interrupt,Interrupt"
|
|
textline " "
|
|
sif (!cpuis("ATSAMD10*")&&!cpuis("ATSAMD11*")&&!cpuis("ATSAMD09C13")&&!cpuis("ATSAMD09D14"))
|
|
eventfld.long 0x04 7. " OVR7 ,Overrun channel 7 interrupt" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 6. " OVR6 ,Overrun channel 6 interrupt" "No interrupt,Interrupt"
|
|
textline " "
|
|
endif
|
|
eventfld.long 0x04 5. " OVR5 ,Overrun channel 5 interrupt" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 4. " OVR4 ,Overrun channel 4 interrupt" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 3. " OVR3 ,Overrun channel 3 interrupt" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.long 0x04 2. " OVR2 ,Overrun channel 2 interrupt" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 1. " OVR1 ,Overrun channel 1 interrupt" "No interrupt,Interrupt"
|
|
eventfld.long 0x04 0. " OVR0 ,Overrun channel 0 interrupt" "No interrupt,Interrupt"
|
|
width 0x0B
|
|
tree.end
|
|
tree.open "SERCOM (Serial Communication Interface)"
|
|
tree "SERCOM0"
|
|
base ad:0x42000800
|
|
width 7.
|
|
if (((per.l(ad:0x42000800))&0x1C)==0x00)||(((per.l(ad:0x42000800))&0x1C)==0x04)
|
|
sif (cpuis("ATSAMD20*"))
|
|
width 14.
|
|
if (((per.l(ad:0x42000800))&0x1C)==0x00)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
textline " "
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity - TxD Change/RxD Change" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
textline " "
|
|
bitfld.long 0x00 24.--27. " FORM ,USART frame format" "Frame,Frame with parity,?..."
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1],SERCOM PAD[2]/SERCOM PAD[3]"
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disconnected,Disabled"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
textline " "
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity - TxD Change/RxD Change" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
textline " "
|
|
bitfld.long 0x00 24.--27. " FORM ,USART frame format" "Frame,Frame with parity,?..."
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1],SERCOM PAD[2]/SERCOM PAD[3]"
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled in all sleep modes"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16. " TXEN ,Transmitter enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 13. " PMODE ,Parity mode" "Even parity,Odd parity"
|
|
textline " "
|
|
bitfld.long 0x00 9. " SFDE ,Start of frame detection enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 6. " SBMODE ,Stop bit mode" "One stop bit,Two stop bits"
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8 bits,9 bits,,,,5 bits,6 bits,7 bits"
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continue,Halted"
|
|
group.word 0x0A++0x01
|
|
line.word 0x00 "BAUD,Baud"
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 3. 0x04 3. 0x00 3. " RXS ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 2. 0x04 2. 0x00 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x04 1. 0x00 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x04 0. 0x00 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x00 3. " RXS ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
eventfld.byte 0x00 2. " RXC ,Receive complete" "Low,High"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.byte 0x00 0. " DRE ,Data register empty" "No interrupt,Interrupt"
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
bitfld.word 0x00 15. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "No overflow,Overflow"
|
|
eventfld.word 0x00 1. " FERR ,Frame error" "No error,Error"
|
|
textline " "
|
|
eventfld.word 0x00 0. " PERR ,Parity error" "No error,Error"
|
|
group.word 0x18++0x01
|
|
line.word 0x00 "DATA,Data"
|
|
hexmask.word 0x00 0.--8. 1. " DATA ,Data"
|
|
width 0x0B
|
|
else
|
|
width 15.
|
|
if (((per.l(ad:0x42000800+0x00))&0xE000)==0x00)||(((per.l(ad:0x42000800+0x00))&0xE000)==0x2000)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity (TxD change/RxD sample)" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "USART frame,USART frame with parity,,,Auto-baud,Auto-baud with parity,?..."
|
|
textline " "
|
|
bitfld.long 0x00 22.--23. " SAMPA ,Sample adjustment" "7-8-9,9-10-11,11-12-13,13-14-15"
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
textline " "
|
|
bitfld.long 0x00 16.--17. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1]/-/-,SERCOM PAD[2]/SERCOM PAD[3]/-/-,SERCOM PAD[0]/-/SERCOM PAD[2]/SERCOM PAD[3],?..."
|
|
bitfld.long 0x00 13.--15. " SAMPR ,Sample rate" "16x arithmetic,16x fractional,8x arithmetic,8x fractional,3x arithmetic,?..."
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "External clock is disconnected,Generic clock is enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
elif (((per.l(ad:0x42000800+0x00))&0xE000)==0x4000)||(((per.l(ad:0x42000800+0x00))&0xE000)==0x6000)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity (TxD change/RxD sample)" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "USART frame,USART frame with parity,,,Auto-baud,Auto-baud with parity,?..."
|
|
textline " "
|
|
bitfld.long 0x00 22.--23. " SAMPA ,Sample adjustment" "3-4-5,4-5-6,5-6-7,6-7-8"
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
textline " "
|
|
bitfld.long 0x00 16.--17. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1]/-/-,SERCOM PAD[2]/SERCOM PAD[3]/-/-,SERCOM PAD[0]/-/SERCOM PAD[2]/SERCOM PAD[3],?..."
|
|
bitfld.long 0x00 13.--15. " SAMPR ,Sample rate" "16x arithmetic,16x fractional,8x arithmetic,8x fractional,3x arithmetic,?..."
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "External clock is disconnected,Generic clock is enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity (TxD change/RxD sample)" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "USART frame,USART frame with parity,,,Auto-baud,Auto-baud with parity,?..."
|
|
textline " "
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16.--17. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1]/-/-,SERCOM PAD[2]/SERCOM PAD[3]/-/-,SERCOM PAD[0]/-/SERCOM PAD[2]/SERCOM PAD[3],?..."
|
|
textline " "
|
|
bitfld.long 0x00 13.--15. " SAMPR ,Sample rate" "16x arithmetic,16x fractional,8x arithmetic,8x fractional,3x arithmetic,?..."
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "External clock is disconnected,Generic clock is enabled"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16. " TXEN ,Transmitter enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 13. " PMODE ,Parity mode" "Even parity,Odd parity"
|
|
textline " "
|
|
bitfld.long 0x00 10. " ENC ,Encoding format" "Not encoded,Encoded"
|
|
bitfld.long 0x00 9. " SFDE ,Start of frame detection enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " COLDEN ,Collision detection enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 6. " SBMODE ,Stop bit mode" "One stop bit,Two stop bits"
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8 bits,9 bits,,,,5 bits,6 bits,7 bits"
|
|
if (((per.l(ad:0x42000800+0x00))&0x2000)==0x00)
|
|
group.word 0x0C++0x01
|
|
line.word 0x00 "BAUD,Baud"
|
|
else
|
|
group.word 0x0C++0x01
|
|
line.word 0x00 "BAUD,Baud"
|
|
bitfld.word 0x00 13.--15. " FP ,Fractional part" "0,1,2,3,4,5,6,7"
|
|
hexmask.word 0x00 0.--12. 1. " BAUD ,Baud value"
|
|
endif
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "RXPL,Receive Pulse Length Register"
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 5. 0x00 5. -0x02 5. " RXBRK ,Receive break interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 4. 0x00 4. -0x02 4. " CTSIC ,Clear to send input change interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 3. 0x00 3. -0x02 3. " RXS ,Receive start interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x02 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error" "Disabled,Enabled"
|
|
eventfld.byte 0x00 5. " RXBRK ,Receive break" "Disabled,Enabled"
|
|
eventfld.byte 0x00 4. " CTSIC ,Clear to send input change" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.byte 0x00 3. " RXS ,Receive start" "Disabled,Enabled"
|
|
rbitfld.byte 0x00 2. " RXC ,Receive complete" "Disabled,Enabled"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.byte 0x00 0. " DRE ,Data register empty" "Disabled,Enabled"
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 5. " COLL ,Collision detected" "Disabled,Enabled"
|
|
eventfld.word 0x00 4. " ISF ,Inconsistent sync field" "Disabled,Auto-baud"
|
|
rbitfld.word 0x00 3. " CTS ,Clear to send" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "Not overflow,Overflow"
|
|
eventfld.word 0x00 1. " FERR ,Frame error" "No error,Error"
|
|
eventfld.word 0x00 0. " PERR ,Parity error" "Disabled,Enabled"
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Syncbusy Register"
|
|
bitfld.long 0x00 2. " CTRLB ,CTRLB synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
hgroup.word 0x28++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
group.byte 0x30++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continues,Halted"
|
|
width 0x0B
|
|
endif
|
|
elif (((per.l(ad:0x42000800))&0x1C)==0x08)||(((per.l(ad:0x42000800))&0x1C)==0x0C)
|
|
width 18.
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity" "SCK is low,SCK is high"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CPHA ,Clock phase" "Leading SCK edge is changed on a trailing SCK edge,Trailing SCK edge and changed on a leading SCK edge"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "SPI,,SPI_ADDR,?..."
|
|
textline " "
|
|
bitfld.long 0x00 20.--21. " DIPO ,Data in pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16.--17. " DOPO ,Data out pinout" "PAD[0]/[1]/[2]/System conf.,PAD[2]/[3]/[1]/System conf.,PAD[3]/[1]/[2]/System conf.,PAD[0]/[3]/[1]/System conf."
|
|
textline " "
|
|
bitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
if (((per.l(ad:0x42000800))&0x1C)==0x08)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
textline " "
|
|
sif (!cpuis("ATSAMD20*"))
|
|
textline " "
|
|
bitfld.long 0x00 13. " MSSEN ,Master slave select enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 9. " SSDE ,Slave select low detect enable" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 6. " PLOADEN ,Slave data preload enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8BIT,9BIT,?..."
|
|
else
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
sif (!cpuis("ATSAMD20*"))
|
|
textline " "
|
|
bitfld.long 0x00 13. " MSSEN ,Master slave select enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 9. " SSDE ,Slave select low detect enable" "Disabled,Enabled"
|
|
endif
|
|
bitfld.long 0x00 6. " PLOADEN ,Slave data preload enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8BIT,9BIT,?..."
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode enable" "Disabled,Enabled"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x0A++0x00
|
|
line.byte 0x00 "BAUD,Baud Rate"
|
|
else
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "BAUD,Baud Rate"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 2. 0x01 2. 0x00 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x01 1. 0x00 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x01 0. 0x00 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
else
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 3. 0x00 3. -0x02 3. " SSL ,Slave select low interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x02 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
rbitfld.byte 0x00 2. " RXC ,Receive complete" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "No interrupt,Interrupt"
|
|
textline " "
|
|
rbitfld.byte 0x00 0. " DRE ,Data register empty" "No interrupt,Interrupt"
|
|
else
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
eventfld.byte 0x00 3. " SSL ,Slave select low interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.byte 0x00 2. " RXC ,Receive complete" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "No interrupt,Interrupt"
|
|
textline " "
|
|
rbitfld.byte 0x00 0. " DRE ,Data register empty" "No interrupt,Interrupt"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
bitfld.word 0x00 15. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "No overflow,Overflow"
|
|
else
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "No overflow,Overflow"
|
|
endif
|
|
sif (!cpuis("ATSAMD20*"))
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Syncbusy Register"
|
|
bitfld.long 0x00 2. " CTRLB ,CTRLB synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK ,Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 16. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
hexmask.long.byte 0x00 0.--7. 0x01 " ADDR ,Address"
|
|
else
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK ,Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 16. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
hexmask.long.byte 0x00 0.--7. 1. " ADDR ,Address"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
else
|
|
hgroup.word 0x28++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
endif
|
|
sif (!cpuis("ATSAMD20*"))
|
|
group.byte 0x30++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continues,Halted"
|
|
endif
|
|
width 0x0B
|
|
elif (((per.l(ad:0x42000800))&0x1C)==0x10)||(((per.l(ad:0x42000800))&0x1C)==0x14)
|
|
sif (cpuis("ATSAMD20*"))
|
|
width 18.
|
|
if ((per.l(ad:0x42000800+0x00)&0x1C)==0x10)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "DIS,75,450,600"
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
if ((per.w(ad:0x42000800+0x10)&0x8)==0x01)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",,Wait for any start (S/Sr) condition,AMATCH: Slave data int.|DRDY: ACK/NACK reception"
|
|
textline " "
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
elif ((per.w(ad:0x42000800+0x10)&0x8)==0x00)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",,Acknowledge action/Start condition,AMATCH/DRDY: Reception of next byte"
|
|
textline " "
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 2. 0x01 2. 0x00 2. " DRDY ,Data ready interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x01 1. 0x00 1. " AMATCH ,Address match interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x01 0. 0x00 0. " PREC ,Stop received interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x00 2. " DRDY ,Data ready" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 1. " AMATCH ,Address match" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 0. " PREC ,Stop received" "No interrupt,Interrupt"
|
|
if ((per.b(ad:0x42000800+0x0E)&0x02)==0x02)
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 4. " SR ,Repeated start" "Started,Repeated"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
else
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
endif
|
|
if ((per.l(ad:0x42000800+0x14)&0x8000)==0x8000)
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 26. " ADDRMASK ,Address bit 9 mask" "0,1"
|
|
bitfld.long 0x00 25. ",Address bit 8 mask" "0,1"
|
|
bitfld.long 0x00 24. ",Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 23. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.word 0x00 1.--10. 0x02 " ADDR ,Address"
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
else
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK ,Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.byte 0x00 1.--7. 0x02 " ADDR ,Address"
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
endif
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
in
|
|
elif ((per.l(ad:0x42000800+0x00)&0x1C)==0x14)
|
|
group.long 0x00++0x07
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 28.--29. " INACTOUT ,Inactive time-out" "DIS,55US,105US,205US"
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "DIS,75NS,450NS,600NS"
|
|
textline " "
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
if ((per.w(ad:0x42000800+0x10)&0x8)==0x01)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",Repeated start,Byte read operation,Issuing a stop condition"
|
|
textline " "
|
|
rbitfld.long 0x00 9. " QCEN ,Quick command enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
elif ((per.w(ad:0x42000800+0x10)&0x8)==0x00)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",Repeated start,No operation,Issuing a stop condition"
|
|
textline " "
|
|
rbitfld.long 0x00 9. " QCEN ,Quick command enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continue,Halted"
|
|
group.word 0x0A++0x01
|
|
line.word 0x00 "BAUD,Baud Rate"
|
|
hexmask.word.byte 0x00 8.--15. 1. " BAUDLOW ,Master baud rate low"
|
|
hexmask.word.byte 0x00 0.--7. 1. " BAUD ,Master baud rate"
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 1. 0x01 1. 0x00 1. " SB ,Slave on bus interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x01 0. 0x00 0. " MB ,Master on bus interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x00 1. " SB ,Slave on bus" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 0. " MB ,Master on bus" "No interrupt,Interrupt"
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
bitfld.word 0x00 15. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
textline " "
|
|
rbitfld.word 0x00 4.--5. " BUSSTATE ,Bus state" "Unknown,Idle,Owner,Busy"
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
textline " "
|
|
eventfld.word 0x00 1. " ARBLOST ,Arbitration lost" "Not lost,Lost"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
group.word 0x14++0x01
|
|
line.word 0x00 "ADDR,Address"
|
|
hexmask.word.byte 0x00 0.--7. 0x01 " ADDR ,Address"
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
in
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
endif
|
|
width 0x0B
|
|
else
|
|
width 15.
|
|
if ((per.l(ad:0x42000800+0x00)&0x1C)==0x10)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 27. " SCLSM ,SCL clock stretch mode" "Stretch,After ACK"
|
|
bitfld.long 0x00 24.--25. " SPEED ,Transfer speed" "Standard,Fast-mode,High-speed,?..."
|
|
textline " "
|
|
bitfld.long 0x00 23. " SEXTTOEN ,Slave SCL low extend time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "Disabled,75,450,600"
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",,Wait for any start (S/Sr) condition,AMATCH: Slave data int.|DRDY: ACK/NACK reception"
|
|
textline " "
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
bitfld.long 0x00 10. " AACKEN ,Automatic acknowledge enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 9. " GCMD ,PMBus group command" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x02 2. " DRDY ,Data ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " AMATCH ,Address match interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " PREC ,Stop received interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 2. " DRDY ,Data ready" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.byte 0x00 1. " AMATCH ,Address match" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 0. " PREC ,Stop received" "No interrupt,Interrupt"
|
|
if ((per.b(ad:0x42000800+0x18)&0x02)==0x02)
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 4. " SR ,Repeated start" "Started,Repeated"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
else
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
endif
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Synchronization Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
if ((per.l(ad:0x42000800+0x24)&0x8000)==0x8000)
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 26. " ADDRMASK[9:0] ,Address bit 9 mask" "0,1"
|
|
bitfld.long 0x00 25. ",Address bit 8 mask" "0,1"
|
|
bitfld.long 0x00 24. ",Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 23. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.word 0x00 1.--10. 1. " ADDR ,Address"
|
|
textline " "
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
else
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK[6:0] ,Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.byte 0x00 1.--7. 1. " ADDR ,Address"
|
|
textline " "
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
endif
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
elif ((per.l(ad:0x42000800+0x00)&0x1C)==0x14)
|
|
group.long 0x00++0x07
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 28.--29. " INACTOUT ,Inactive time-Out" "DIS,55US,105US,205US"
|
|
bitfld.long 0x00 27. " SCLSM ,SCL clock stretch mode" "Stretch,After ACK"
|
|
textline " "
|
|
bitfld.long 0x00 24.--25. " SPEED ,Transfer speed" "Standard,Fast-mode,High-speed,?..."
|
|
bitfld.long 0x00 23. " SEXTTOEN ,Slave SCL low extend time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 22. " MEXTTOEN ,Master SCL low extend time-out" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "DIS,75NS,450NS,600NS"
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
line.long 0x04 "CTRLB,Control B"
|
|
bitfld.long 0x04 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x04 16.--17. " CMD ,Command" ",Repeated start,Byte read operation,Issuing a stop condition"
|
|
textline " "
|
|
rbitfld.long 0x04 9. " QCEN ,Quick command enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
group.long 0x0C++0x03
|
|
line.long 0x00 "BAUD,Baud Rate"
|
|
hexmask.long.byte 0x00 24.--31. 1. " HSBAUDLOW ,High speed master baud rate low"
|
|
hexmask.long.byte 0x00 16.--23. 1. " HSBAUD ,High speed master baud rate"
|
|
hexmask.long.byte 0x00 8.--15. 1. " BAUDLOW ,Master baud rate low"
|
|
textline " "
|
|
hexmask.long.byte 0x00 0.--7. 1. " BAUD ,Master baud rate"
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " SB ,Slave on bus interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " MB ,Master on bus interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error" "No error,Error"
|
|
eventfld.byte 0x00 1. " SB ,Slave on bus" "Not set,Set"
|
|
eventfld.byte 0x00 0. " MB ,Master on bus" "Not set,Set"
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " LENERR ,Transaction length error" "No error,Error"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
eventfld.word 0x00 8. " MEXTTOUT ,Master SCL low extend time-out" "Not occurred,Occurred"
|
|
textline " "
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "No,Yes"
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
bitfld.word 0x00 4.--5. " BUSSTATE ,Bus state" "Unknown,Idle,Owner,Busy"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
bitfld.word 0x00 1. " ARBLOST ,Arbitration lost" "Not lost,Lost"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Synchronization Busy"
|
|
bitfld.long 0x00 2. " SYSOP ,System operation synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
if ((per.l(ad:0x42000800+0x24)&0x8000)==0x8000)
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long.byte 0x00 16.--23. 1. " LEN ,Transaction length"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14. " HS ,High speed" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 13. " LENEN ,Transfer length enable" "Disabled,Enabled"
|
|
hexmask.long.word 0x00 0.--10. 1. " ADDR ,Address"
|
|
else
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long.byte 0x00 16.--23. 1. " LEN ,Transaction length"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14. " HS ,High speed" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 13. " LENEN ,Transfer length enable" "Disabled,Enabled"
|
|
hexmask.long.byte 0x00 0.--6. 1. " ADDR ,Address"
|
|
endif
|
|
hgroup.long 0x18++0x03
|
|
hide.long 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
group.byte 0x30++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continued,Halted"
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
endif
|
|
width 0x0B
|
|
endif
|
|
elif (((per.l(ad:0x42000800))&0x1C)==0x18)||(((per.l(ad:0x42000800))&0x1C)==0x1C)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree "SERCOM1"
|
|
base ad:0x42000C00
|
|
width 7.
|
|
if (((per.l(ad:0x42000C00))&0x1C)==0x00)||(((per.l(ad:0x42000C00))&0x1C)==0x04)
|
|
sif (cpuis("ATSAMD20*"))
|
|
width 14.
|
|
if (((per.l(ad:0x42000C00))&0x1C)==0x00)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
textline " "
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity - TxD Change/RxD Change" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
textline " "
|
|
bitfld.long 0x00 24.--27. " FORM ,USART frame format" "Frame,Frame with parity,?..."
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1],SERCOM PAD[2]/SERCOM PAD[3]"
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disconnected,Disabled"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
textline " "
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity - TxD Change/RxD Change" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
textline " "
|
|
bitfld.long 0x00 24.--27. " FORM ,USART frame format" "Frame,Frame with parity,?..."
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1],SERCOM PAD[2]/SERCOM PAD[3]"
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled in all sleep modes"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16. " TXEN ,Transmitter enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 13. " PMODE ,Parity mode" "Even parity,Odd parity"
|
|
textline " "
|
|
bitfld.long 0x00 9. " SFDE ,Start of frame detection enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 6. " SBMODE ,Stop bit mode" "One stop bit,Two stop bits"
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8 bits,9 bits,,,,5 bits,6 bits,7 bits"
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continue,Halted"
|
|
group.word 0x0A++0x01
|
|
line.word 0x00 "BAUD,Baud"
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 3. 0x04 3. 0x00 3. " RXS ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 2. 0x04 2. 0x00 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x04 1. 0x00 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x04 0. 0x00 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x00 3. " RXS ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
eventfld.byte 0x00 2. " RXC ,Receive complete" "Low,High"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.byte 0x00 0. " DRE ,Data register empty" "No interrupt,Interrupt"
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
bitfld.word 0x00 15. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "No overflow,Overflow"
|
|
eventfld.word 0x00 1. " FERR ,Frame error" "No error,Error"
|
|
textline " "
|
|
eventfld.word 0x00 0. " PERR ,Parity error" "No error,Error"
|
|
group.word 0x18++0x01
|
|
line.word 0x00 "DATA,Data"
|
|
hexmask.word 0x00 0.--8. 1. " DATA ,Data"
|
|
width 0x0B
|
|
else
|
|
width 15.
|
|
if (((per.l(ad:0x42000C00+0x00))&0xE000)==0x00)||(((per.l(ad:0x42000C00+0x00))&0xE000)==0x2000)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity (TxD change/RxD sample)" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "USART frame,USART frame with parity,,,Auto-baud,Auto-baud with parity,?..."
|
|
textline " "
|
|
bitfld.long 0x00 22.--23. " SAMPA ,Sample adjustment" "7-8-9,9-10-11,11-12-13,13-14-15"
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
textline " "
|
|
bitfld.long 0x00 16.--17. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1]/-/-,SERCOM PAD[2]/SERCOM PAD[3]/-/-,SERCOM PAD[0]/-/SERCOM PAD[2]/SERCOM PAD[3],?..."
|
|
bitfld.long 0x00 13.--15. " SAMPR ,Sample rate" "16x arithmetic,16x fractional,8x arithmetic,8x fractional,3x arithmetic,?..."
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "External clock is disconnected,Generic clock is enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
elif (((per.l(ad:0x42000C00+0x00))&0xE000)==0x4000)||(((per.l(ad:0x42000C00+0x00))&0xE000)==0x6000)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity (TxD change/RxD sample)" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "USART frame,USART frame with parity,,,Auto-baud,Auto-baud with parity,?..."
|
|
textline " "
|
|
bitfld.long 0x00 22.--23. " SAMPA ,Sample adjustment" "3-4-5,4-5-6,5-6-7,6-7-8"
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
textline " "
|
|
bitfld.long 0x00 16.--17. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1]/-/-,SERCOM PAD[2]/SERCOM PAD[3]/-/-,SERCOM PAD[0]/-/SERCOM PAD[2]/SERCOM PAD[3],?..."
|
|
bitfld.long 0x00 13.--15. " SAMPR ,Sample rate" "16x arithmetic,16x fractional,8x arithmetic,8x fractional,3x arithmetic,?..."
|
|
textline " "
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "External clock is disconnected,Generic clock is enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity (TxD change/RxD sample)" "Rising XCK edge/Falling XCK edge,Falling XCK edge/Rising XCK edge"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CMODE ,Communication mode" "Asynchronous,Synchronous"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "USART frame,USART frame with parity,,,Auto-baud,Auto-baud with parity,?..."
|
|
textline " "
|
|
bitfld.long 0x00 20.--21. " RXPO ,Receive data pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16.--17. " TXPO ,Transmit data pinout" "SERCOM PAD[0]/SERCOM PAD[1]/-/-,SERCOM PAD[2]/SERCOM PAD[3]/-/-,SERCOM PAD[0]/-/SERCOM PAD[2]/SERCOM PAD[3],?..."
|
|
textline " "
|
|
bitfld.long 0x00 13.--15. " SAMPR ,Sample rate" "16x arithmetic,16x fractional,8x arithmetic,8x fractional,3x arithmetic,?..."
|
|
rbitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "External clock is disconnected,Generic clock is enabled"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 16. " TXEN ,Transmitter enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 13. " PMODE ,Parity mode" "Even parity,Odd parity"
|
|
textline " "
|
|
bitfld.long 0x00 10. " ENC ,Encoding format" "Not encoded,Encoded"
|
|
bitfld.long 0x00 9. " SFDE ,Start of frame detection enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " COLDEN ,Collision detection enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 6. " SBMODE ,Stop bit mode" "One stop bit,Two stop bits"
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8 bits,9 bits,,,,5 bits,6 bits,7 bits"
|
|
if (((per.l(ad:0x42000C00+0x00))&0x2000)==0x00)
|
|
group.word 0x0C++0x01
|
|
line.word 0x00 "BAUD,Baud"
|
|
else
|
|
group.word 0x0C++0x01
|
|
line.word 0x00 "BAUD,Baud"
|
|
bitfld.word 0x00 13.--15. " FP ,Fractional part" "0,1,2,3,4,5,6,7"
|
|
hexmask.word 0x00 0.--12. 1. " BAUD ,Baud value"
|
|
endif
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "RXPL,Receive Pulse Length Register"
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 5. 0x00 5. -0x02 5. " RXBRK ,Receive break interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 4. 0x00 4. -0x02 4. " CTSIC ,Clear to send input change interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 3. 0x00 3. -0x02 3. " RXS ,Receive start interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x02 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error" "Disabled,Enabled"
|
|
eventfld.byte 0x00 5. " RXBRK ,Receive break" "Disabled,Enabled"
|
|
eventfld.byte 0x00 4. " CTSIC ,Clear to send input change" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.byte 0x00 3. " RXS ,Receive start" "Disabled,Enabled"
|
|
rbitfld.byte 0x00 2. " RXC ,Receive complete" "Disabled,Enabled"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.byte 0x00 0. " DRE ,Data register empty" "Disabled,Enabled"
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 5. " COLL ,Collision detected" "Disabled,Enabled"
|
|
eventfld.word 0x00 4. " ISF ,Inconsistent sync field" "Disabled,Auto-baud"
|
|
rbitfld.word 0x00 3. " CTS ,Clear to send" "Disabled,Enabled"
|
|
textline " "
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "Not overflow,Overflow"
|
|
eventfld.word 0x00 1. " FERR ,Frame error" "No error,Error"
|
|
eventfld.word 0x00 0. " PERR ,Parity error" "Disabled,Enabled"
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Syncbusy Register"
|
|
bitfld.long 0x00 2. " CTRLB ,CTRLB synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
hgroup.word 0x28++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
group.byte 0x30++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continues,Halted"
|
|
width 0x0B
|
|
endif
|
|
elif (((per.l(ad:0x42000C00))&0x1C)==0x08)||(((per.l(ad:0x42000C00))&0x1C)==0x0C)
|
|
width 18.
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " DORD ,Data order" "MSB first,LSB first"
|
|
bitfld.long 0x00 29. " CPOL ,Clock polarity" "SCK is low,SCK is high"
|
|
textline " "
|
|
bitfld.long 0x00 28. " CPHA ,Clock phase" "Leading SCK edge is changed on a trailing SCK edge,Trailing SCK edge and changed on a leading SCK edge"
|
|
bitfld.long 0x00 24.--27. " FORM ,Frame format" "SPI,,SPI_ADDR,?..."
|
|
textline " "
|
|
bitfld.long 0x00 20.--21. " DIPO ,Data in pinout" "PAD[0],PAD[1],PAD[2],PAD[3]"
|
|
bitfld.long 0x00 16.--17. " DOPO ,Data out pinout" "PAD[0]/[1]/[2]/System conf.,PAD[2]/[3]/[1]/System conf.,PAD[3]/[1]/[2]/System conf.,PAD[0]/[3]/[1]/System conf."
|
|
textline " "
|
|
bitfld.long 0x00 8. " IBON ,Immediate buffer overflow notification" "Asserted when it occurs in the data stream,Asserted immediately upon buffer overflow"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
if (((per.l(ad:0x42000C00))&0x1C)==0x08)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
textline " "
|
|
sif (!cpuis("ATSAMD20*"))
|
|
textline " "
|
|
bitfld.long 0x00 13. " MSSEN ,Master slave select enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 9. " SSDE ,Slave select low detect enable" "Disabled,Enabled"
|
|
endif
|
|
textline " "
|
|
bitfld.long 0x00 6. " PLOADEN ,Slave data preload enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8BIT,9BIT,?..."
|
|
else
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 17. " RXEN ,Receiver enable" "Disabled,Enabled"
|
|
sif (!cpuis("ATSAMD20*"))
|
|
textline " "
|
|
bitfld.long 0x00 13. " MSSEN ,Master slave select enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 9. " SSDE ,Slave select low detect enable" "Disabled,Enabled"
|
|
endif
|
|
bitfld.long 0x00 6. " PLOADEN ,Slave data preload enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0.--2. " CHSIZE ,Character size" "8BIT,9BIT,?..."
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode enable" "Disabled,Enabled"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x0A++0x00
|
|
line.byte 0x00 "BAUD,Baud Rate"
|
|
else
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "BAUD,Baud Rate"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 2. 0x01 2. 0x00 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x01 1. 0x00 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x01 0. 0x00 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
else
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 3. 0x00 3. -0x02 3. " SSL ,Slave select low interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x02 2. " RXC ,Receive complete interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " TXC ,Transmit complete interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " DRE ,Data register empty interrupt enable" "Disabled,Enabled"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
rbitfld.byte 0x00 2. " RXC ,Receive complete" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "No interrupt,Interrupt"
|
|
textline " "
|
|
rbitfld.byte 0x00 0. " DRE ,Data register empty" "No interrupt,Interrupt"
|
|
else
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
eventfld.byte 0x00 3. " SSL ,Slave select low interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
rbitfld.byte 0x00 2. " RXC ,Receive complete" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 1. " TXC ,Transmit complete" "No interrupt,Interrupt"
|
|
textline " "
|
|
rbitfld.byte 0x00 0. " DRE ,Data register empty" "No interrupt,Interrupt"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
bitfld.word 0x00 15. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "No overflow,Overflow"
|
|
else
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 2. " BUFOVF ,Buffer overflow" "No overflow,Overflow"
|
|
endif
|
|
sif (!cpuis("ATSAMD20*"))
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Syncbusy Register"
|
|
bitfld.long 0x00 2. " CTRLB ,CTRLB synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK ,Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 16. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
hexmask.long.byte 0x00 0.--7. 0x01 " ADDR ,Address"
|
|
else
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK ,Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 16. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
hexmask.long.byte 0x00 0.--7. 1. " ADDR ,Address"
|
|
endif
|
|
sif (cpuis("ATSAMD20*"))
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
else
|
|
hgroup.word 0x28++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
endif
|
|
sif (!cpuis("ATSAMD20*"))
|
|
group.byte 0x30++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continues,Halted"
|
|
endif
|
|
width 0x0B
|
|
elif (((per.l(ad:0x42000C00))&0x1C)==0x10)||(((per.l(ad:0x42000C00))&0x1C)==0x14)
|
|
sif (cpuis("ATSAMD20*"))
|
|
width 18.
|
|
if ((per.l(ad:0x42000C00+0x00)&0x1C)==0x10)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "DIS,75,450,600"
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
if ((per.w(ad:0x42000C00+0x10)&0x8)==0x01)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",,Wait for any start (S/Sr) condition,AMATCH: Slave data int.|DRDY: ACK/NACK reception"
|
|
textline " "
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
elif ((per.w(ad:0x42000C00+0x10)&0x8)==0x00)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",,Acknowledge action/Start condition,AMATCH/DRDY: Reception of next byte"
|
|
textline " "
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 2. 0x01 2. 0x00 2. " DRDY ,Data ready interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x01 1. 0x00 1. " AMATCH ,Address match interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x01 0. 0x00 0. " PREC ,Stop received interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x00 2. " DRDY ,Data ready" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 1. " AMATCH ,Address match" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 0. " PREC ,Stop received" "No interrupt,Interrupt"
|
|
if ((per.b(ad:0x42000C00+0x0E)&0x02)==0x02)
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 4. " SR ,Repeated start" "Started,Repeated"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
else
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
endif
|
|
if ((per.l(ad:0x42000C00+0x14)&0x8000)==0x8000)
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 26. " ADDRMASK ,Address bit 9 mask" "0,1"
|
|
bitfld.long 0x00 25. ",Address bit 8 mask" "0,1"
|
|
bitfld.long 0x00 24. ",Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 23. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.word 0x00 1.--10. 0x02 " ADDR ,Address"
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
else
|
|
group.long 0x14++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK ,Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
textline " "
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.byte 0x00 1.--7. 0x02 " ADDR ,Address"
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
endif
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
in
|
|
elif ((per.l(ad:0x42000C00+0x00)&0x1C)==0x14)
|
|
group.long 0x00++0x07
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 28.--29. " INACTOUT ,Inactive time-out" "DIS,55US,105US,205US"
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "DIS,75NS,450NS,600NS"
|
|
textline " "
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
textline " "
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
if ((per.w(ad:0x42000C00+0x10)&0x8)==0x01)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",Repeated start,Byte read operation,Issuing a stop condition"
|
|
textline " "
|
|
rbitfld.long 0x00 9. " QCEN ,Quick command enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
elif ((per.w(ad:0x42000C00+0x10)&0x8)==0x00)
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",Repeated start,No operation,Issuing a stop condition"
|
|
textline " "
|
|
rbitfld.long 0x00 9. " QCEN ,Quick command enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
endif
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continue,Halted"
|
|
group.word 0x0A++0x01
|
|
line.word 0x00 "BAUD,Baud Rate"
|
|
hexmask.word.byte 0x00 8.--15. 1. " BAUDLOW ,Master baud rate low"
|
|
hexmask.word.byte 0x00 0.--7. 1. " BAUD ,Master baud rate"
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 1. 0x01 1. 0x00 1. " SB ,Slave on bus interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x01 0. 0x00 0. " MB ,Master on bus interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x0E++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x00 1. " SB ,Slave on bus" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 0. " MB ,Master on bus" "No interrupt,Interrupt"
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
bitfld.word 0x00 15. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
textline " "
|
|
rbitfld.word 0x00 4.--5. " BUSSTATE ,Bus state" "Unknown,Idle,Owner,Busy"
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
textline " "
|
|
eventfld.word 0x00 1. " ARBLOST ,Arbitration lost" "Not lost,Lost"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
group.word 0x14++0x01
|
|
line.word 0x00 "ADDR,Address"
|
|
hexmask.word.byte 0x00 0.--7. 0x01 " ADDR ,Address"
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
in
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
endif
|
|
width 0x0B
|
|
else
|
|
width 15.
|
|
if ((per.l(ad:0x42000C00+0x00)&0x1C)==0x10)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 27. " SCLSM ,SCL clock stretch mode" "Stretch,After ACK"
|
|
bitfld.long 0x00 24.--25. " SPEED ,Transfer speed" "Standard,Fast-mode,High-speed,?..."
|
|
textline " "
|
|
bitfld.long 0x00 23. " SEXTTOEN ,Slave SCL low extend time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "Disabled,75,450,600"
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
group.long 0x04++0x03
|
|
line.long 0x00 "CTRLB,Control B"
|
|
bitfld.long 0x00 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x00 16.--17. " CMD ,Command" ",,Wait for any start (S/Sr) condition,AMATCH: Slave data int.|DRDY: ACK/NACK reception"
|
|
textline " "
|
|
bitfld.long 0x00 14.--15. " AMODE ,Address mode" "MASK,2_ADDRS,RANGE,?..."
|
|
bitfld.long 0x00 10. " AACKEN ,Automatic acknowledge enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 9. " GCMD ,PMBus group command" "Disabled,Enabled"
|
|
bitfld.long 0x00 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x02 2. " DRDY ,Data ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " AMATCH ,Address match interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " PREC ,Stop received interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 2. " DRDY ,Data ready" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.byte 0x00 1. " AMATCH ,Address match" "No interrupt,Interrupt"
|
|
eventfld.byte 0x00 0. " PREC ,Stop received" "No interrupt,Interrupt"
|
|
if ((per.b(ad:0x42000C00+0x18)&0x02)==0x02)
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 4. " SR ,Repeated start" "Started,Repeated"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
else
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " HS ,High-speed" "Not detected,Detected"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "Not occurred,Occurred"
|
|
textline " "
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
rbitfld.word 0x00 3. " DIR ,Read/Write direction" "Write,Read"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
eventfld.word 0x00 1. " COLL ,Transmit collision" "No collision,Collision"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
endif
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Synchronization Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
if ((per.l(ad:0x42000C00+0x24)&0x8000)==0x8000)
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 26. " ADDRMASK[9:0] ,Address bit 9 mask" "0,1"
|
|
bitfld.long 0x00 25. ",Address bit 8 mask" "0,1"
|
|
bitfld.long 0x00 24. ",Address bit 7 mask" "0,1"
|
|
bitfld.long 0x00 23. ",Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.word 0x00 1.--10. 1. " ADDR ,Address"
|
|
textline " "
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
else
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
bitfld.long 0x00 23. " ADDRMASK[6:0] ,Address bit 6 mask" "0,1"
|
|
bitfld.long 0x00 22. ",Address bit 5 mask" "0,1"
|
|
bitfld.long 0x00 21. ",Address bit 4 mask" "0,1"
|
|
bitfld.long 0x00 20. ",Address bit 3 mask" "0,1"
|
|
bitfld.long 0x00 19. ",Address bit 2 mask" "0,1"
|
|
bitfld.long 0x00 18. ",Address bit 1 mask" "0,1"
|
|
bitfld.long 0x00 17. ",Address bit 0 mask" "0,1"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
hexmask.long.byte 0x00 1.--7. 1. " ADDR ,Address"
|
|
textline " "
|
|
bitfld.long 0x00 0. " GENCEN ,General call address enable" "Disabled,Enabled"
|
|
endif
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
elif ((per.l(ad:0x42000C00+0x00)&0x1C)==0x14)
|
|
group.long 0x00++0x07
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 30. " LOWTOUT ,SCL low time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 28.--29. " INACTOUT ,Inactive time-Out" "DIS,55US,105US,205US"
|
|
bitfld.long 0x00 27. " SCLSM ,SCL clock stretch mode" "Stretch,After ACK"
|
|
textline " "
|
|
bitfld.long 0x00 24.--25. " SPEED ,Transfer speed" "Standard,Fast-mode,High-speed,?..."
|
|
bitfld.long 0x00 23. " SEXTTOEN ,Slave SCL low extend time-out" "Disabled,Enabled"
|
|
bitfld.long 0x00 22. " MEXTTOEN ,Master SCL low extend time-out" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 20.--21. " SDAHOLD ,SDA hold time" "DIS,75NS,450NS,600NS"
|
|
bitfld.long 0x00 16. " PINOUT ,Pin usage" "Disabled,Enabled"
|
|
bitfld.long 0x00 7. " RUNSTDBY ,Run in standby" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
bitfld.long 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
line.long 0x04 "CTRLB,Control B"
|
|
bitfld.long 0x04 18. " ACKACT ,Acknowledge action" "Send ACK,Send NACK"
|
|
bitfld.long 0x04 16.--17. " CMD ,Command" ",Repeated start,Byte read operation,Issuing a stop condition"
|
|
textline " "
|
|
rbitfld.long 0x04 9. " QCEN ,Quick command enable" "Disabled,Enabled"
|
|
bitfld.long 0x04 8. " SMEN ,Smart mode enable" "Disabled,Enabled"
|
|
group.long 0x0C++0x03
|
|
line.long 0x00 "BAUD,Baud Rate"
|
|
hexmask.long.byte 0x00 24.--31. 1. " HSBAUDLOW ,High speed master baud rate low"
|
|
hexmask.long.byte 0x00 16.--23. 1. " HSBAUD ,High speed master baud rate"
|
|
hexmask.long.byte 0x00 8.--15. 1. " BAUDLOW ,Master baud rate low"
|
|
textline " "
|
|
hexmask.long.byte 0x00 0.--7. 1. " BAUD ,Master baud rate"
|
|
group.byte 0x16++0x00
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 7. 0x00 7. -0x02 7. " ERROR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x02 1. " SB ,Slave on bus interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x02 0. " MB ,Master on bus interrupt enable" "Disabled,Enabled"
|
|
group.byte 0x18++0x00
|
|
line.byte 0x00 "INTFLAG,Interrupt Flag Status and Clear"
|
|
eventfld.byte 0x00 7. " ERROR ,Error" "No error,Error"
|
|
eventfld.byte 0x00 1. " SB ,Slave on bus" "Not set,Set"
|
|
eventfld.byte 0x00 0. " MB ,Master on bus" "Not set,Set"
|
|
group.word 0x1A++0x01
|
|
line.word 0x00 "STATUS,Status"
|
|
eventfld.word 0x00 10. " LENERR ,Transaction length error" "No error,Error"
|
|
eventfld.word 0x00 9. " SEXTTOUT ,Slave SCL low extend time-out" "Not occurred,Occurred"
|
|
eventfld.word 0x00 8. " MEXTTOUT ,Master SCL low extend time-out" "Not occurred,Occurred"
|
|
textline " "
|
|
rbitfld.word 0x00 7. " CLKHOLD ,Clock hold" "No,Yes"
|
|
eventfld.word 0x00 6. " LOWTOUT ,SCL low time-out" "Not occurred,Occurred"
|
|
bitfld.word 0x00 4.--5. " BUSSTATE ,Bus state" "Unknown,Idle,Owner,Busy"
|
|
textline " "
|
|
rbitfld.word 0x00 2. " RXNACK ,Received not acknowledge" "ACK,NACK"
|
|
bitfld.word 0x00 1. " ARBLOST ,Arbitration lost" "Not lost,Lost"
|
|
eventfld.word 0x00 0. " BUSERR ,Bus error" "No error,Error"
|
|
rgroup.long 0x1C++0x03
|
|
line.long 0x00 "SYNCBUSY,Synchronization Busy"
|
|
bitfld.long 0x00 2. " SYSOP ,System operation synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 1. " ENABLE ,SERCOM enable synchronization busy" "Idle,Busy"
|
|
bitfld.long 0x00 0. " SWRST ,Software reset synchronization busy" "Idle,Busy"
|
|
if ((per.l(ad:0x42000C00+0x24)&0x8000)==0x8000)
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long.byte 0x00 16.--23. 1. " LEN ,Transaction length"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14. " HS ,High speed" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 13. " LENEN ,Transfer length enable" "Disabled,Enabled"
|
|
hexmask.long.word 0x00 0.--10. 1. " ADDR ,Address"
|
|
else
|
|
group.long 0x24++0x03
|
|
line.long 0x00 "ADDR,Address"
|
|
hexmask.long.byte 0x00 16.--23. 1. " LEN ,Transaction length"
|
|
bitfld.long 0x00 15. " TENBITEN ,Ten bit addressing enable" "Disabled,Enabled"
|
|
bitfld.long 0x00 14. " HS ,High speed" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.long 0x00 13. " LENEN ,Transfer length enable" "Disabled,Enabled"
|
|
hexmask.long.byte 0x00 0.--6. 1. " ADDR ,Address"
|
|
endif
|
|
hgroup.long 0x18++0x03
|
|
hide.long 0x00 "DATA,Data"
|
|
textfld " "
|
|
in
|
|
group.byte 0x30++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGSTOP ,Debug stop mode" "Continued,Halted"
|
|
else
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
endif
|
|
width 0x0B
|
|
endif
|
|
elif (((per.l(ad:0x42000C00))&0x1C)==0x18)||(((per.l(ad:0x42000C00))&0x1C)==0x1C)
|
|
group.long 0x00++0x03
|
|
line.long 0x00 "CTRLA,Control A"
|
|
bitfld.long 0x00 2.--4. " MODE ,Operating mode" "USART external clock,USART internal clock,SPI slave,SPI master,I2C slave,I2C master,?..."
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree.end
|
|
tree.open "TC (Timer/Counter)"
|
|
tree "TC1"
|
|
base ad:0x42001800
|
|
width 15.
|
|
if (((per.w(ad:0x42001800))&0x02)==0x00)
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRLA,Control A"
|
|
bitfld.word 0x00 12.--13. " PRESCSYNC ,Prescaler and counter synchronization" "GCLK,PRESC,RESYNC,?..."
|
|
bitfld.word 0x00 11. " RUNSTDBY ,Run in standby" "Halted,Continue"
|
|
bitfld.word 0x00 8.--10. " PRESCALER ,Prescaler" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV64,DIV256,DIV1024"
|
|
textline " "
|
|
bitfld.word 0x00 5.--6. " WAVEGEN ,Waveform generation operation" "NFRQ,MFRQ,NPWM,MPWM"
|
|
bitfld.word 0x00 2.--3. " MODE ,TC mode" "COUNT16,COUNT8,COUNT32,?..."
|
|
bitfld.word 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRLA,Control A"
|
|
rbitfld.word 0x00 12.--13. " PRESCSYNC ,Prescaler and counter synchronization" "GCLK,PRESC,RESYNC,?..."
|
|
bitfld.word 0x00 11. " RUNSTDBY ,Run in standby" "Halted,Continue"
|
|
rbitfld.word 0x00 8.--10. " PRESCALER ,Prescaler" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV64,DIV256,DIV1024"
|
|
textline " "
|
|
rbitfld.word 0x00 5.--6. " WAVEGEN ,Waveform generation operation" "NFRQ,MFRQ,NPWM,MPWM"
|
|
rbitfld.word 0x00 2.--3. " MODE ,TC mode" "COUNT16,COUNT8,COUNT32,?..."
|
|
bitfld.word 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
group.word 0x02++0x01
|
|
line.word 0x00 "READREQ,Read Request"
|
|
bitfld.word 0x00 15. " RREQ ,Read request" "No effect,Request"
|
|
bitfld.word 0x00 14. " RCONT ,Read continuously" "Disabled,Enabled"
|
|
hexmask.word.byte 0x00 0.--4. 1. " ADDR ,Address"
|
|
group.byte 0x04++0x02
|
|
line.byte 0x00 "CTRLBCLR,Control B Clear"
|
|
bitfld.byte 0x00 6.--7. " CMD ,Command" "NONE,RETRIGGER,STOP,?..."
|
|
bitfld.byte 0x00 2. " ONESHOT ,One-shot" "Continue,Stopped"
|
|
bitfld.byte 0x00 0. " DIR ,Counter direction" "Incrementing,Decrementing"
|
|
line.byte 0x01 "CTRLBSET,Control B Set"
|
|
bitfld.byte 0x01 6.--7. " CMD ,Command" "NONE,RETRIGGER,STOP,?..."
|
|
bitfld.byte 0x01 2. " ONESHOT ,One-shot" "Continue,Stopped"
|
|
bitfld.byte 0x01 0. " DIR ,Counter direction" "Incrementing,Decrementing"
|
|
line.byte 0x02 "CTRLC,Control C"
|
|
bitfld.byte 0x02 5. " CPTEN1 ,Capture channel 1 enable" "Disabled,Enabled"
|
|
bitfld.byte 0x02 4. " CPTEN0 ,Capture channel 0 enable" "Disabled,Enabled"
|
|
bitfld.byte 0x02 1. " INVEN1 ,Waveform output 1 inversion enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x02 0. " INVEN0 ,Waveform output 0 inversion enable" "Disabled,Enabled"
|
|
if (((per.w(ad:0x42001800))&0x02)==0x00)
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Debug run mode" "Halted,Continue"
|
|
group.word 0x0A++0x01
|
|
line.word 0x00 "EVCTRL,Event Control"
|
|
bitfld.word 0x00 13. " MCEO1 ,Match or capture channel 1 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 12. " MCEO0 ,Match or capture channel 0 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8. " OVFEO ,Overflow/Underflow event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 5. " TCEI ,TC event input" "Disabled,Enabled"
|
|
bitfld.word 0x00 4. " TCINV ,TC inverted event input" "Not inverted,Inverted"
|
|
bitfld.word 0x00 0.--2. " EVACT ,Event action" "OFF,RETRIGGER,COUNT,START,,PPW,PWP,?..."
|
|
else
|
|
rgroup.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Debug run mode" "Halted,Continue"
|
|
rgroup.word 0x0A++0x01
|
|
line.word 0x00 "EVCTRL,Event Control"
|
|
bitfld.word 0x00 13. " MCEO1 ,Match or capture channel 1 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 12. " MCEO0 ,Match or capture channel 0 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8. " OVFEO ,Overflow/Underflow event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 5. " TCEI ,TC event input" "Disabled,Enabled"
|
|
bitfld.word 0x00 4. " TCINV ,TC inverted event input" "Not inverted,Inverted"
|
|
bitfld.word 0x00 0.--2. " EVACT ,Event action" "OFF,RETRIGGER,COUNT,START,,PPW,PWP,?..."
|
|
endif
|
|
group.byte 0x0D++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 5. 0x00 5. -0x01 5. " MC1 ,Match or capture channel 1 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 4. 0x00 4. -0x01 4. " MC0 ,Match or capture channel 0 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 3. 0x00 3. -0x01 3. " SYNCRDY ,Synchronization ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x01 1. " ERR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " OVF ,Overflow interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 5. " MC1 ,Match or capture channel 1" "Not occurred,Occurred"
|
|
eventfld.byte 0x01 4. " MC0 ,Match or capture channel 0" "Not occurred,Occurred"
|
|
eventfld.byte 0x01 3. " SYNCRDY ,Synchronization ready" "Not ready,Ready"
|
|
textline " "
|
|
eventfld.byte 0x01 1. " ERR ,Error" "No error,Error"
|
|
eventfld.byte 0x01 0. " OVF ,Overflow" "Not occurred,Occurred"
|
|
rgroup.byte 0x0F++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
bitfld.byte 0x00 4. " SLAVE ,Slave" "Not 32-bit mode,32-bit mode"
|
|
bitfld.byte 0x00 3. " STOP ,Stop" "Running,Stopped"
|
|
if ((per.w(ad:0x42001800+0x00)&0x0C)==0x04)
|
|
group.byte 0x10++0x00
|
|
line.byte 0x00 "COUNT,Counter Value"
|
|
group.byte 0x14++0x00
|
|
line.byte 0x00 "PER,Period Value"
|
|
hgroup.byte 0x18++0x00
|
|
hide.byte 0x00 "CC0,Compare/Capture 0"
|
|
textfld " "
|
|
in
|
|
hgroup.byte 0x19++0x00
|
|
hide.byte 0x00 "CC1,Compare/Capture 1"
|
|
textfld " "
|
|
in
|
|
sif !cpuis("ATSAMD21*")&&!cpuis("ATSAMDA1*")
|
|
hgroup.byte 0x1A++0x00
|
|
hide.byte 0x00 "CC2,Compare/Capture 2"
|
|
textfld " "
|
|
in
|
|
hgroup.byte 0x1B++0x00
|
|
hide.byte 0x00 "CC3,Compare/Capture 3"
|
|
textfld " "
|
|
in
|
|
endif
|
|
elif ((per.w(ad:0x42001800+0x00)&0x0C)==0x00)
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "COUNT,Counter Value"
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "CC0,Compare/Capture 0"
|
|
textfld " "
|
|
in
|
|
hgroup.word 0x1A++0x01
|
|
hide.word 0x00 "CC1,Compare/Capture 1"
|
|
textfld " "
|
|
in
|
|
sif !cpuis("ATSAMD21*")&&!cpuis("ATSAMDA1*")
|
|
hgroup.word 0x1C++0x01
|
|
hide.word 0x00 "CC2,Compare/Capture 2"
|
|
textfld " "
|
|
in
|
|
hgroup.word 0x20++0x01
|
|
hide.word 0x00 "CC3,Compare/Capture 3"
|
|
textfld " "
|
|
in
|
|
endif
|
|
elif ((per.w(ad:0x42001800+0x00)&0x0C)==0x08)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "COUNT,Counter Value"
|
|
hgroup.long 0x18++0x03
|
|
hide.long 0x00 "CC0,Compare/Capture 0"
|
|
textfld " "
|
|
in
|
|
hgroup.long 0x1C++0x03
|
|
hide.long 0x00 "CC1,Compare/Capture 1"
|
|
textfld " "
|
|
in
|
|
sif !cpuis("ATSAMD21*")&&!cpuis("ATSAMDA1*")
|
|
hgroup.long 0x20++0x03
|
|
hide.long 0x00 "CC2,Compare/Capture 2"
|
|
textfld " "
|
|
in
|
|
hgroup.long 0x24++0x03
|
|
hide.long 0x00 "CC3,Compare/Capture 3"
|
|
textfld " "
|
|
in
|
|
endif
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree "TC2"
|
|
base ad:0x42001C00
|
|
width 15.
|
|
if (((per.w(ad:0x42001C00))&0x02)==0x00)
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRLA,Control A"
|
|
bitfld.word 0x00 12.--13. " PRESCSYNC ,Prescaler and counter synchronization" "GCLK,PRESC,RESYNC,?..."
|
|
bitfld.word 0x00 11. " RUNSTDBY ,Run in standby" "Halted,Continue"
|
|
bitfld.word 0x00 8.--10. " PRESCALER ,Prescaler" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV64,DIV256,DIV1024"
|
|
textline " "
|
|
bitfld.word 0x00 5.--6. " WAVEGEN ,Waveform generation operation" "NFRQ,MFRQ,NPWM,MPWM"
|
|
bitfld.word 0x00 2.--3. " MODE ,TC mode" "COUNT16,COUNT8,COUNT32,?..."
|
|
bitfld.word 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
else
|
|
group.word 0x00++0x01
|
|
line.word 0x00 "CTRLA,Control A"
|
|
rbitfld.word 0x00 12.--13. " PRESCSYNC ,Prescaler and counter synchronization" "GCLK,PRESC,RESYNC,?..."
|
|
bitfld.word 0x00 11. " RUNSTDBY ,Run in standby" "Halted,Continue"
|
|
rbitfld.word 0x00 8.--10. " PRESCALER ,Prescaler" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV64,DIV256,DIV1024"
|
|
textline " "
|
|
rbitfld.word 0x00 5.--6. " WAVEGEN ,Waveform generation operation" "NFRQ,MFRQ,NPWM,MPWM"
|
|
rbitfld.word 0x00 2.--3. " MODE ,TC mode" "COUNT16,COUNT8,COUNT32,?..."
|
|
bitfld.word 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
endif
|
|
group.word 0x02++0x01
|
|
line.word 0x00 "READREQ,Read Request"
|
|
bitfld.word 0x00 15. " RREQ ,Read request" "No effect,Request"
|
|
bitfld.word 0x00 14. " RCONT ,Read continuously" "Disabled,Enabled"
|
|
hexmask.word.byte 0x00 0.--4. 1. " ADDR ,Address"
|
|
group.byte 0x04++0x02
|
|
line.byte 0x00 "CTRLBCLR,Control B Clear"
|
|
bitfld.byte 0x00 6.--7. " CMD ,Command" "NONE,RETRIGGER,STOP,?..."
|
|
bitfld.byte 0x00 2. " ONESHOT ,One-shot" "Continue,Stopped"
|
|
bitfld.byte 0x00 0. " DIR ,Counter direction" "Incrementing,Decrementing"
|
|
line.byte 0x01 "CTRLBSET,Control B Set"
|
|
bitfld.byte 0x01 6.--7. " CMD ,Command" "NONE,RETRIGGER,STOP,?..."
|
|
bitfld.byte 0x01 2. " ONESHOT ,One-shot" "Continue,Stopped"
|
|
bitfld.byte 0x01 0. " DIR ,Counter direction" "Incrementing,Decrementing"
|
|
line.byte 0x02 "CTRLC,Control C"
|
|
bitfld.byte 0x02 5. " CPTEN1 ,Capture channel 1 enable" "Disabled,Enabled"
|
|
bitfld.byte 0x02 4. " CPTEN0 ,Capture channel 0 enable" "Disabled,Enabled"
|
|
bitfld.byte 0x02 1. " INVEN1 ,Waveform output 1 inversion enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x02 0. " INVEN0 ,Waveform output 0 inversion enable" "Disabled,Enabled"
|
|
if (((per.w(ad:0x42001C00))&0x02)==0x00)
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Debug run mode" "Halted,Continue"
|
|
group.word 0x0A++0x01
|
|
line.word 0x00 "EVCTRL,Event Control"
|
|
bitfld.word 0x00 13. " MCEO1 ,Match or capture channel 1 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 12. " MCEO0 ,Match or capture channel 0 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8. " OVFEO ,Overflow/Underflow event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 5. " TCEI ,TC event input" "Disabled,Enabled"
|
|
bitfld.word 0x00 4. " TCINV ,TC inverted event input" "Not inverted,Inverted"
|
|
bitfld.word 0x00 0.--2. " EVACT ,Event action" "OFF,RETRIGGER,COUNT,START,,PPW,PWP,?..."
|
|
else
|
|
rgroup.byte 0x08++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Debug run mode" "Halted,Continue"
|
|
rgroup.word 0x0A++0x01
|
|
line.word 0x00 "EVCTRL,Event Control"
|
|
bitfld.word 0x00 13. " MCEO1 ,Match or capture channel 1 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 12. " MCEO0 ,Match or capture channel 0 event output enable" "Disabled,Enabled"
|
|
bitfld.word 0x00 8. " OVFEO ,Overflow/Underflow event output enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 5. " TCEI ,TC event input" "Disabled,Enabled"
|
|
bitfld.word 0x00 4. " TCINV ,TC inverted event input" "Not inverted,Inverted"
|
|
bitfld.word 0x00 0.--2. " EVACT ,Event action" "OFF,RETRIGGER,COUNT,START,,PPW,PWP,?..."
|
|
endif
|
|
group.byte 0x0D++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 5. 0x00 5. -0x01 5. " MC1 ,Match or capture channel 1 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 4. 0x00 4. -0x01 4. " MC0 ,Match or capture channel 0 interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 3. 0x00 3. -0x01 3. " SYNCRDY ,Synchronization ready interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x01 1. " ERR ,Error interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " OVF ,Overflow interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 5. " MC1 ,Match or capture channel 1" "Not occurred,Occurred"
|
|
eventfld.byte 0x01 4. " MC0 ,Match or capture channel 0" "Not occurred,Occurred"
|
|
eventfld.byte 0x01 3. " SYNCRDY ,Synchronization ready" "Not ready,Ready"
|
|
textline " "
|
|
eventfld.byte 0x01 1. " ERR ,Error" "No error,Error"
|
|
eventfld.byte 0x01 0. " OVF ,Overflow" "Not occurred,Occurred"
|
|
rgroup.byte 0x0F++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
bitfld.byte 0x00 4. " SLAVE ,Slave" "Not 32-bit mode,32-bit mode"
|
|
bitfld.byte 0x00 3. " STOP ,Stop" "Running,Stopped"
|
|
if ((per.w(ad:0x42001C00+0x00)&0x0C)==0x04)
|
|
group.byte 0x10++0x00
|
|
line.byte 0x00 "COUNT,Counter Value"
|
|
group.byte 0x14++0x00
|
|
line.byte 0x00 "PER,Period Value"
|
|
hgroup.byte 0x18++0x00
|
|
hide.byte 0x00 "CC0,Compare/Capture 0"
|
|
textfld " "
|
|
in
|
|
hgroup.byte 0x19++0x00
|
|
hide.byte 0x00 "CC1,Compare/Capture 1"
|
|
textfld " "
|
|
in
|
|
sif !cpuis("ATSAMD21*")&&!cpuis("ATSAMDA1*")
|
|
hgroup.byte 0x1A++0x00
|
|
hide.byte 0x00 "CC2,Compare/Capture 2"
|
|
textfld " "
|
|
in
|
|
hgroup.byte 0x1B++0x00
|
|
hide.byte 0x00 "CC3,Compare/Capture 3"
|
|
textfld " "
|
|
in
|
|
endif
|
|
elif ((per.w(ad:0x42001C00+0x00)&0x0C)==0x00)
|
|
group.word 0x10++0x01
|
|
line.word 0x00 "COUNT,Counter Value"
|
|
hgroup.word 0x18++0x01
|
|
hide.word 0x00 "CC0,Compare/Capture 0"
|
|
textfld " "
|
|
in
|
|
hgroup.word 0x1A++0x01
|
|
hide.word 0x00 "CC1,Compare/Capture 1"
|
|
textfld " "
|
|
in
|
|
sif !cpuis("ATSAMD21*")&&!cpuis("ATSAMDA1*")
|
|
hgroup.word 0x1C++0x01
|
|
hide.word 0x00 "CC2,Compare/Capture 2"
|
|
textfld " "
|
|
in
|
|
hgroup.word 0x20++0x01
|
|
hide.word 0x00 "CC3,Compare/Capture 3"
|
|
textfld " "
|
|
in
|
|
endif
|
|
elif ((per.w(ad:0x42001C00+0x00)&0x0C)==0x08)
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "COUNT,Counter Value"
|
|
hgroup.long 0x18++0x03
|
|
hide.long 0x00 "CC0,Compare/Capture 0"
|
|
textfld " "
|
|
in
|
|
hgroup.long 0x1C++0x03
|
|
hide.long 0x00 "CC1,Compare/Capture 1"
|
|
textfld " "
|
|
in
|
|
sif !cpuis("ATSAMD21*")&&!cpuis("ATSAMDA1*")
|
|
hgroup.long 0x20++0x03
|
|
hide.long 0x00 "CC2,Compare/Capture 2"
|
|
textfld " "
|
|
in
|
|
hgroup.long 0x24++0x03
|
|
hide.long 0x00 "CC3,Compare/Capture 3"
|
|
textfld " "
|
|
in
|
|
endif
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
tree.end
|
|
tree "ADC (Analog-to-Digital Converter)"
|
|
base ad:0x42002000
|
|
width 15.
|
|
group.byte 0x00++0x03
|
|
line.byte 0x00 "CTRLA,Control A"
|
|
bitfld.byte 0x00 2. " RUNSTDBY ,Run in standby" "Halted,Continue"
|
|
bitfld.byte 0x00 1. " ENABLE ,Enable" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.byte 0x00 0. " SWRST ,Software reset" "No reset,Reset"
|
|
line.byte 0x01 "REFCTRL,Reference Control"
|
|
bitfld.byte 0x01 7. " REFCOMP ,Reference buffer offset compensation enable" "Disabled,Enabled"
|
|
bitfld.byte 0x01 0.--3. " REFSEL ,Reference selection" "INT1V,INTVCC0,INTVCC1,AREFA,AREFB,?..."
|
|
line.byte 0x02 "AVGCTRL,Average Control"
|
|
bitfld.byte 0x02 4.--6. " ADJRES ,Adjusting result/division coefficient" "DIV1,DIV2,DIV4,DIV8,DIV16,DIV32,DIV64,DIV128"
|
|
bitfld.byte 0x02 0.--3. " SAMPLENUM ,Number of samples to be collected" "1 sample,2 samples,4 samples,8 samples,16 samples,32 samples,64 samples,128 samples,256 samples,512 samples,1024 samples,?..."
|
|
line.byte 0x03 "SAMPCTRL,Sampling Time Control"
|
|
hexmask.byte 0x03 0.--5. 1. " SAMPLEN ,Sampling time length"
|
|
sif cpuis("ATSAMD09*")||cpuis("SAMD10")
|
|
if (((per.b(ad:0x42002000+0x00))&0x02)==0x02)
|
|
rgroup.word 0x04++0x01
|
|
line.word 0x00 "CTRLB,Control B"
|
|
bitfld.word 0x00 8.--10. " PRESCALER ,Prescaler configuration" "DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512"
|
|
bitfld.word 0x00 4.--5. " RESSEL ,Conversion result resolution" "12BIT,16BIT,10BIT,8BIT"
|
|
bitfld.word 0x00 3. " CORREN ,Digital correction logic enabled" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 2. " FREERUN ,Free running mode" "Single conversion mode,Free running mode"
|
|
bitfld.word 0x00 1. " LEFTADJ ,Left-adjusted result" "Right-adjusted,Left-adjusted"
|
|
bitfld.word 0x00 0. " DIFFMODE ,Differential mode" "Singled-ended mode,Differential mode"
|
|
else
|
|
group.word 0x04++0x01
|
|
line.word 0x00 "CTRLB,Control B"
|
|
bitfld.word 0x00 8.--10. " PRESCALER ,Prescaler configuration" "DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512"
|
|
bitfld.word 0x00 4.--5. " RESSEL ,Conversion result resolution" "12BIT,16BIT,10BIT,8BIT"
|
|
bitfld.word 0x00 3. " CORREN ,Digital correction logic enabled" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 2. " FREERUN ,Free running mode" "Single conversion mode,Free running mode"
|
|
bitfld.word 0x00 1. " LEFTADJ ,Left-adjusted result" "Right-adjusted,Left-adjusted"
|
|
bitfld.word 0x00 0. " DIFFMODE ,Differential mode" "Singled-ended mode,Differential mode"
|
|
endif
|
|
else
|
|
group.word 0x04++0x01
|
|
line.word 0x00 "CTRLB,Control B"
|
|
bitfld.word 0x00 8.--10. " PRESCALER ,Prescaler configuration" "DIV4,DIV8,DIV16,DIV32,DIV64,DIV128,DIV256,DIV512"
|
|
bitfld.word 0x00 4.--5. " RESSEL ,Conversion result resolution" "12BIT,16BIT,10BIT,8BIT"
|
|
bitfld.word 0x00 3. " CORREN ,Digital correction logic enabled" "Disabled,Enabled"
|
|
textline " "
|
|
bitfld.word 0x00 2. " FREERUN ,Free running mode" "Single conversion mode,Free running mode"
|
|
bitfld.word 0x00 1. " LEFTADJ ,Left-adjusted result" "Right-adjusted,Left-adjusted"
|
|
bitfld.word 0x00 0. " DIFFMODE ,Differential mode" "Singled-ended mode,Differential mode"
|
|
endif
|
|
group.byte 0x08++0x00
|
|
line.byte 0x00 "WINCTRL,Window Monitor Control"
|
|
bitfld.byte 0x00 0.--2. " WINMODE ,Window monitor mode" "No window mode(default),Mode 1: RESULT>WINLT,Mode 2: RESULT<WINUT,Mode 3: WINLT<RESULT<WINUT,Mode 4:!(WINLT<RESULT<WINUT),?..."
|
|
group.byte 0x0C++0x00
|
|
line.byte 0x00 "SWTRIG,Software Trigger"
|
|
bitfld.byte 0x00 1. " START ,ADC start conversion" "Not started,Started"
|
|
bitfld.byte 0x00 0. " FLUSH ,ADC conversion flush" "Not flushed,Flushed"
|
|
group.long 0x10++0x03
|
|
line.long 0x00 "INPUTCTRL,Input Control"
|
|
bitfld.long 0x00 24.--27. " GAIN ,Gain factor selection" "1X,2X,4X,8X,16X,,,,,,,,,,,DIV2"
|
|
hexmask.long.byte 0x00 20.--23. 1. " INPUTOFFSET ,Positive mux setting offset"
|
|
hexmask.long.byte 0x00 16.--19. 1. " INPUTSCAN ,Number of input channels included in scan"
|
|
textline " "
|
|
sif (cpuis("ATSAMD10*")||cpuis("ATSAMD11*"))
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,PIN8,PIN9,,,,,,,,,,,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif (cpu()=="ATSAMD21E15L")||(cpu()=="ATSAMD21E16L")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,,,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,,,PIN4,PIN5,PIN6,PIN7,,,PIN10,PIN11,PIN12,PIN13,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpuis("ATSAMD21E*")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,,,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,,,PIN4,PIN5,PIN6,PIN7,,,,,,,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpu()=="ATSAMD21G16L"
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,PIN8,PIN9,PIN10,PIN11,PIN12,PIN13,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,PIN8,PIN9,,,,,,,,,,,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,?..."
|
|
elif cpuis("ATSAMD20E*")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpuis("ATSAMD20G*")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,PIN10,PIN11,,,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpuis("ATSAMD21G*")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,PIN10,PIN11,,,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpuis("ATSAMDA1E*")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,,,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,,,PIN4,PIN5,PIN6,PIN7,,,,,,,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpuis("ATSAMDA1G*")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,PIN10,PIN11,,,,,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
elif cpuis("ATSAMDA1J*")
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,PIN8,PIN9,PIN10,PIN11,PIN12,PIN13,PIN14,PIN15,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
else
|
|
bitfld.long 0x00 8.--12. " MUXNEG ,Negative mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,,,,,,,,,,,,,,,,,GND,IOGND,?..."
|
|
bitfld.long 0x00 0.--4. " MUXPOS ,Positive mux input selection" "PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6,PIN7,PIN8,PIN9,PIN10,PIN11,PIN12,PIN13,PIN14,PIN15,PIN16,PIN17,PIN18,PIN19,,,,,TEMP,BANDGAP,SCALEDCOREVCC,SCALEDIOVCC,DAC,?..."
|
|
endif
|
|
group.byte 0x14++0x00
|
|
line.byte 0x00 "EVCTRL,Event Control"
|
|
bitfld.byte 0x00 5. " WINMONEO ,Window monitor event out" "Disabled,Enabled"
|
|
bitfld.byte 0x00 4. " RESRDYEO ,Result ready event out" "Disabled,Enabled"
|
|
bitfld.byte 0x00 1. " SYNCEI ,Synchronization event in" "Not triggered,Triggered"
|
|
textline " "
|
|
bitfld.byte 0x00 0. " STARTEI ,Start conversion event in" "Not triggered,Triggered"
|
|
group.byte 0x17++0x01
|
|
line.byte 0x00 "INTEN_SET/CLR,Interrupt Enable Set/Clear"
|
|
setclrfld.byte 0x00 3. 0x00 3. -0x01 3. " SYNCRDY ,Synchronization ready interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 2. 0x00 2. -0x01 2. " WINMON ,Window monitor interrupt enable" "Disabled,Enabled"
|
|
setclrfld.byte 0x00 1. 0x00 1. -0x01 1. " OVERRUN ,Overrun interrupt enable" "Disabled,Enabled"
|
|
textline " "
|
|
setclrfld.byte 0x00 0. 0x00 0. -0x01 0. " RESRDY ,Result ready interrupt enable" "Disabled,Enabled"
|
|
line.byte 0x01 "INTFLAG,Interrupt Flag Status And Clear"
|
|
eventfld.byte 0x01 3. " SYNCRDY ,Synchronization ready" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 2. " WINMON ,Window monitor" "No interrupt,Interrupt"
|
|
eventfld.byte 0x01 1. " OVERRUN ,Overrun" "No interrupt,Interrupt"
|
|
textline " "
|
|
eventfld.byte 0x01 0. " RESRDY ,Result ready" "Low,High"
|
|
rgroup.byte 0x19++0x00
|
|
line.byte 0x00 "STATUS,Status"
|
|
bitfld.byte 0x00 7. " SYNCBUSY ,Synchronization busy" "Idle,Busy"
|
|
if ((per.w(ad:0x42002000+0x04)&0x32)==0x00)
|
|
rgroup.word 0x1A++0x01
|
|
line.word 0x00 "RESULT,Result"
|
|
hexmask.word 0x00 0.--11. 1. " RESULT[11:0] ,Result conversion value"
|
|
elif ((per.w(ad:0x42002000+0x04)&0x32)==0x02)
|
|
rgroup.word 0x1A++0x01
|
|
line.word 0x00 "RESULT,Result"
|
|
hexmask.word 0x00 4.--15. 1. " RESULT[15:4] ,Result conversion value"
|
|
elif ((per.w(ad:0x42002000+0x04)&0x32)==0x20)
|
|
rgroup.word 0x1A++0x01
|
|
line.word 0x00 "RESULT,Result"
|
|
hexmask.word 0x00 0.--9. 1. " RESULT[9:0] ,Result conversion value"
|
|
elif ((per.w(ad:0x42002000+0x04)&0x32)==0x22)
|
|
rgroup.word 0x1A++0x01
|
|
line.word 0x00 "RESULT,Result"
|
|
hexmask.word 0x00 6.--15. 1. " RESULT[15:6] ,Result conversion value"
|
|
elif ((per.w(ad:0x42002000+0x04)&0x32)==0x30)
|
|
rgroup.word 0x1A++0x01
|
|
line.word 0x00 "RESULT,Result"
|
|
hexmask.word.byte 0x00 0.--7. 1. " RESULT[7:0] ,Result conversion value"
|
|
elif ((per.w(ad:0x42002000+0x04)&0x32)==0x32)
|
|
rgroup.word 0x1A++0x01
|
|
line.word 0x00 "RESULT,Result"
|
|
hexmask.word.byte 0x00 8.--15. 1. " RESULT[15:8] ,Result conversion value"
|
|
else
|
|
rgroup.word 0x1A++0x01
|
|
line.word 0x00 "RESULT,Result"
|
|
hexmask.word 0x00 0.--15. 1. " RESULT[15:0] ,Result conversion value"
|
|
endif
|
|
sif (cpuis("ATSAMD21*")||cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD09C13")||cpuis("ATSAMD09D14")||cpuis("ATSAMD20*")||cpuis("ATSAMDA1*"))
|
|
group.word 0x1C++0x01
|
|
line.word 0x00 "WINLT,Window Monitor Lower Threshold"
|
|
group.word 0x20++0x01
|
|
line.word 0x00 "WINUT,Window Monitor Upper Threshold"
|
|
else
|
|
group.word 0x1C++0x03
|
|
line.word 0x00 "WINLT,Window Monitor Lower Threshold"
|
|
line.word 0x02 "WINUT,Window Monitor Upper Threshold"
|
|
endif
|
|
group.word 0x24++0x03
|
|
line.word 0x00 "GAINCORR,Gain Correction"
|
|
hexmask.word 0x00 0.--11. 1. " GAINCORR ,Gain correction value"
|
|
line.word 0x02 "OFFSETCORR,Offset Correction"
|
|
hexmask.word 0x02 0.--11. 1. " OFFSETCORR ,Offset correction value"
|
|
sif cpuis("ATSAMD10*")||cpuis("ATSAMD11*")||cpuis("ATSAMD20*")||cpuis("ATSAMD21*")||cpuis("ATSAMDA1*")
|
|
group.word 0x28++0x01
|
|
line.word 0x00 "CALIB,Calibration"
|
|
hexmask.word.byte 0x00 8.--10. 1. " BIAS_CAL ,Bias calibration value"
|
|
hexmask.word.byte 0x00 0.--7. 1. " LINEARITY_CAL ,Linearity calibration value"
|
|
else
|
|
rgroup.word 0x28++0x01
|
|
line.word 0x00 "CALIB,Calibration"
|
|
hexmask.word.byte 0x00 8.--10. 1. " BIAS_CAL ,Bias calibration value"
|
|
hexmask.word.byte 0x00 0.--7. 1. " LINEARITY_CAL ,Linearity calibration value"
|
|
endif
|
|
if ((per.b(ad:0x42002000+0x00)&0x02)==0x00)
|
|
group.byte 0x2A++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Debug run" "Halted,Continue"
|
|
else
|
|
rgroup.byte 0x2A++0x00
|
|
line.byte 0x00 "DBGCTRL,Debug Control"
|
|
bitfld.byte 0x00 0. " DBGRUN ,Debug run" "Halted,Continue"
|
|
endif
|
|
width 0x0B
|
|
tree.end
|
|
textline ""
|